Diễn đàn các môn học - Huỳnh Phước Hải
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Bài tập 18(Cách khác)

Go down

Bài tập 18(Cách khác) Empty Bài tập 18(Cách khác)

Bài gửi  nguyenthanhhau Sat Jan 15, 2011 1:08 am

Sử dụng mãng động(List) và ngăn xếp(Stack).Các bạn cũng có thể sử dụng hàng đợi thay thế cho mãng động như bài 18 của bạn Trình cũng được.
Ý tưởng:
+B1:Lấy mãng động a,và Stack b chứa các số dư của n%10(tức chứa các chữ số của n)
+B2:So sánh :Lấy phần tử đầu tiên của b so sánh với phần tử đầu của a ,và lấy phần tử thứ 2 của b so sánh với phần tử thứ 2 của a.
Đây là code:
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;

namespace bai18
{
class SoDoiXung
{
private long n;
private long m;
//Khoi tao
public SoDoiXung()
{
this.n = 0;
this.m = 0;
}
//nhap lieu
public void input()
{
Console.Write("Ban hay nhap n =");
this.n = long.Parse(Console.ReadLine());
Console.Write("Ban hay nhap m =");
this.m = long.Parse(Console.ReadLine());
}
public bool Test(long a)
{
bool kq = false;
List<long> mang = new List<long>();

Stack st = new Stack();

for (long i = a; i>0; i=i/10)
{
mang.Add(i%10);
st.Push(i%10);
}

if ((mang[0] == (long)st.Pop()) && (mang[1] == (long)st.Pop()))
{
Console.WriteLine(a);
kq = true;
}

return kq;
//else
http://Console.WriteLine("Khong phai la so doi xung");
}
static void Main(string[] args)
{
Console.WriteLine("Bai Toan:");
Console.WriteLine("Tim so nguyen duong doi xung");
Console.WriteLine("Ban hay nhap trong khoang 10<m<n:");
SoDoiXung sdx = new SoDoiXung();
sdx.input();
try
{
if (sdx.m <= 10 || sdx.n <= 10)
throw new Exception();


Console.WriteLine("Cac so doi xung trong khoang [{0} ; {1}]", sdx.m, sdx.n);
int dem = 0;
for (long i = sdx.m; i <= sdx.n; i++)
{
if (sdx.Test(i))
dem++;

}
if (dem == 0)
{
Console.WriteLine("Thong bao!");
Console.WriteLine("So ban nhap trong khoang nay khong co so doi xung");
}
}
catch
{
Console.WriteLine("Ban da nhap sai, Thong bao!");
}


}
}
}
nguyenthanhhau
nguyenthanhhau

Tổng số bài gửi : 6
Join date : 05/01/2011

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết