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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

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

Bài gửi  nguyenthanhhau on 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

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

Xem lý lịch thành viên

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


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