Bài tập 15 đến 20
+5
nchnguyen
chilinh
tranquocmanh10th
levientrinh_10TH
root
9 posters
Trang 1 trong tổng số 1 trang
Bài tập 15 đến 20
Bài 15:
Nhập tử số và mẫu số của một phân số. Tìm dạng tối giản của phân số đó
Bài 16
Tìm các số có ba chữ số sao cho tổng lập phương của các chữ số bằng chính nó
Bài 17.
In các bảng cửu chương từ 1 đến 9 lên màn hình
Bài 18.
Một số nguyên dương được gọi là đối xứng nếu chữ số thứ nhất bằng chữ số cuối, chữ số thứ hai bằng chữ số gần cuối. Hãy nhập các số nguyên dương m, n (m<n). In ra các số nguyên dương đối xứng trong khoảng từ m đến n
Bài 19.
Tìm các số đối xứng bé hơn hoặc bằng n mà bình phương cũng là một số đối xứng
Bài 20.
Tìm 2 số nguyên tố có tổng bằng một số chẵn cho trước.
Nhập tử số và mẫu số của một phân số. Tìm dạng tối giản của phân số đó
Bài 16
Tìm các số có ba chữ số sao cho tổng lập phương của các chữ số bằng chính nó
Bài 17.
In các bảng cửu chương từ 1 đến 9 lên màn hình
Bài 18.
Một số nguyên dương được gọi là đối xứng nếu chữ số thứ nhất bằng chữ số cuối, chữ số thứ hai bằng chữ số gần cuối. Hãy nhập các số nguyên dương m, n (m<n). In ra các số nguyên dương đối xứng trong khoảng từ m đến n
Bài 19.
Tìm các số đối xứng bé hơn hoặc bằng n mà bình phương cũng là một số đối xứng
Bài 20.
Tìm 2 số nguyên tố có tổng bằng một số chẵn cho trước.
Bài tập 15
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static int UCLN(int a, int b)
{
while (a != b)
if (a > b)
a -= b;
else
b -= a;
return a;
}
static void Main(string[] args)
{
int tu, mau;
Console.WriteLine("Ban nhap u so");
tu = int.Parse(Console.ReadLine());
Console.WriteLine("Ban nhap mau so");
mau = int.Parse(Console.ReadLine());
Console.WriteLine("Phan so ban da nhap: " + tu + "/" + mau);
int ucln = UCLN(tu, mau);
//Chia tử số và mẫu số cho UCLN của tử số và mẫu số
tu /= ucln;
mau /= ucln;
Console.WriteLine("Phan so toi gian: " + tu + "/" + mau);
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static int UCLN(int a, int b)
{
while (a != b)
if (a > b)
a -= b;
else
b -= a;
return a;
}
static void Main(string[] args)
{
int tu, mau;
Console.WriteLine("Ban nhap u so");
tu = int.Parse(Console.ReadLine());
Console.WriteLine("Ban nhap mau so");
mau = int.Parse(Console.ReadLine());
Console.WriteLine("Phan so ban da nhap: " + tu + "/" + mau);
int ucln = UCLN(tu, mau);
//Chia tử số và mẫu số cho UCLN của tử số và mẫu số
tu /= ucln;
mau /= ucln;
Console.WriteLine("Phan so toi gian: " + tu + "/" + mau);
Console.ReadLine();
}
}
}
levientrinh_10TH- Tổng số bài gửi : 30
Join date : 05/01/2011
Bài tập 16
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Dap an cua bai toan la");
//Giả sử a là hàng trăm
//b là hàng chục
//c là hàng đơn vị
//thì điều kiện của bài toán sẽ được diễn giải là:
//a^3+b^3+c^3=100*a+10*b+c
//Biến a là hàng trăm nên đi từ 1 đến 9
//Biến b, c đi từ 0 đến 9
for (int a = 1; a <= 9; a++)
{
for (int b = 0; b <= 9; b++)
{
for (int c = 0; c <= 9; c++)
{
if (Math.Pow(a, 3) + Math.Pow(b, 3) + Math.Pow(c, 3) == 100 * a + 10 * b + c)
Console.WriteLine(a+""+b+""+c);
}
}
}
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Dap an cua bai toan la");
//Giả sử a là hàng trăm
//b là hàng chục
//c là hàng đơn vị
//thì điều kiện của bài toán sẽ được diễn giải là:
//a^3+b^3+c^3=100*a+10*b+c
//Biến a là hàng trăm nên đi từ 1 đến 9
//Biến b, c đi từ 0 đến 9
for (int a = 1; a <= 9; a++)
{
for (int b = 0; b <= 9; b++)
{
for (int c = 0; c <= 9; c++)
{
if (Math.Pow(a, 3) + Math.Pow(b, 3) + Math.Pow(c, 3) == 100 * a + 10 * b + c)
Console.WriteLine(a+""+b+""+c);
}
}
}
Console.ReadLine();
}
}
}
levientrinh_10TH- Tổng số bài gửi : 30
Join date : 05/01/2011
Bài tập 17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
for (int i = 1; i <= 9; i++)
{
Console.WriteLine();
for (int j = 1; j <=10; j++)
{
Console.WriteLine(i + " X " + j + " = "+ i * j);
}
}
Console.ReadLine();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
for (int i = 1; i <= 9; i++)
{
Console.WriteLine();
for (int j = 1; j <=10; j++)
{
Console.WriteLine(i + " X " + j + " = "+ i * j);
}
}
Console.ReadLine();
}
}
}
levientrinh_10TH- Tổng số bài gửi : 30
Join date : 05/01/2011
Re: Bài tập 15 đến 20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
public static int kiemtra(int n)
{
//Hàm trả về 1 nếu n là số có một chữ số
if (n / 10 == 0)
return 1;
//Khai báo hàng đợi chứa các phần tử của n
Queue s = new Queue();
int sophantu = 0;
while (n != 0)
{
sophantu += 1;
s.Enqueue(n % 10);
n /= 10;
}
//Khai báo mảng phụ chứa các phần tử của Queue
int[] a = new int[sophantu];
int i = 0;
foreach (int item in s)
{
a[i++] = item;
}
int j = sophantu-1;
for (int k = 0; k <sophantu/2; k++)
{
if (a[k] != a[j--])
return 0;
}
return 1;
}
static void Main(string[] args)
{
int m, n;
int dem = 0;
do
{
Console.WriteLine("Moi ban nhap m nguyen duong");
m = int.Parse(Console.ReadLine());
Console.WriteLine("Moi ban nhap n nguyen duong > m");
n = int.Parse(Console.ReadLine());
} while (m >= n||m<0||n<0);
Console.WriteLine("Danh sach cac so doi xung la");
for (int i = m; i <= n; i++)
{
if (kiemtra(i) == 1)
{
Console.Write(i + "\t");
dem += 1;
}
}
if (dem == 0)
Console.WriteLine("Khong co so doi xung nao trong khoang tu {0} den {1}", m, n);
Console.ReadLine();
}
}
}
//Bài này có một số kiến thức chưa học nên nếu có gì không hiểu, bạn hãy liên hệ với Lê Viễn Trình. Tôi sẽ giải thích kĩ cho.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
public static int kiemtra(int n)
{
//Hàm trả về 1 nếu n là số có một chữ số
if (n / 10 == 0)
return 1;
//Khai báo hàng đợi chứa các phần tử của n
Queue s = new Queue();
int sophantu = 0;
while (n != 0)
{
sophantu += 1;
s.Enqueue(n % 10);
n /= 10;
}
//Khai báo mảng phụ chứa các phần tử của Queue
int[] a = new int[sophantu];
int i = 0;
foreach (int item in s)
{
a[i++] = item;
}
int j = sophantu-1;
for (int k = 0; k <sophantu/2; k++)
{
if (a[k] != a[j--])
return 0;
}
return 1;
}
static void Main(string[] args)
{
int m, n;
int dem = 0;
do
{
Console.WriteLine("Moi ban nhap m nguyen duong");
m = int.Parse(Console.ReadLine());
Console.WriteLine("Moi ban nhap n nguyen duong > m");
n = int.Parse(Console.ReadLine());
} while (m >= n||m<0||n<0);
Console.WriteLine("Danh sach cac so doi xung la");
for (int i = m; i <= n; i++)
{
if (kiemtra(i) == 1)
{
Console.Write(i + "\t");
dem += 1;
}
}
if (dem == 0)
Console.WriteLine("Khong co so doi xung nao trong khoang tu {0} den {1}", m, n);
Console.ReadLine();
}
}
}
//Bài này có một số kiến thức chưa học nên nếu có gì không hiểu, bạn hãy liên hệ với Lê Viễn Trình. Tôi sẽ giải thích kĩ cho.
Baif 18- Khách viếng thăm
Bài tập 18
Bài tập 18 là của Lê Viễn Trình, nếu có gì khồn hiểu xin liên hệ với tôi.
levientrinh_10TH- Tổng số bài gửi : 30
Join date : 05/01/2011
Bài 19
//Bài này có một số kiến thức khá mới, nếu không hiểu xin liên hệ với Lê Viễn Trình
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
public static int kiemtra(int n)
{
if (n / 10 == 0)
return 1;
Queue s = new Queue();
int sophantu = 0;
while (n != 0)
{
sophantu += 1;
s.Enqueue(n % 10);
n /= 10;
}
int[] a = new int[sophantu];
int i = 0;
foreach (int item in s)
{
a[i++] = item;
}
int j = sophantu-1;
for (int k = 0; k <sophantu/2; k++)
{
if (a[k] != a[j--])
return 0;
}
return 1;
}
static void Main(string[] args)
{
int n;
int dem = 0;
do
{
Console.WriteLine("Moi ban nhap n nguyen duong ");
n = int.Parse(Console.ReadLine());
} while (n<0);
Console.WriteLine("Danh sach cac so doi xung la");
for (int i = 0; i <= n; i++)
{
if (kiemtra(i) == 1&&kiemtra(i*i)==1)
{
Console.Write(i + "\t");
dem += 1;
}
}
if (dem == 0)
Console.WriteLine("Khong co so doi xung nao thoa yeu cau de bai");
Console.ReadLine();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
public static int kiemtra(int n)
{
if (n / 10 == 0)
return 1;
Queue s = new Queue();
int sophantu = 0;
while (n != 0)
{
sophantu += 1;
s.Enqueue(n % 10);
n /= 10;
}
int[] a = new int[sophantu];
int i = 0;
foreach (int item in s)
{
a[i++] = item;
}
int j = sophantu-1;
for (int k = 0; k <sophantu/2; k++)
{
if (a[k] != a[j--])
return 0;
}
return 1;
}
static void Main(string[] args)
{
int n;
int dem = 0;
do
{
Console.WriteLine("Moi ban nhap n nguyen duong ");
n = int.Parse(Console.ReadLine());
} while (n<0);
Console.WriteLine("Danh sach cac so doi xung la");
for (int i = 0; i <= n; i++)
{
if (kiemtra(i) == 1&&kiemtra(i*i)==1)
{
Console.Write(i + "\t");
dem += 1;
}
}
if (dem == 0)
Console.WriteLine("Khong co so doi xung nao thoa yeu cau de bai");
Console.ReadLine();
}
}
}
levientrinh_10TH- Tổng số bài gửi : 30
Join date : 05/01/2011
Góp ý
Bài tập 15, nếu trong trường hợp là biến tử số và mẫu số đều âm, thì không cần phải xét trị tuyệt đối, nếu một trong hai biến tử số và mẫu số là số âm, thì ta phải dùng hàm tính giá trị tuyệt đối Abs. Các bạn tự sửa nhé, ai có thể chỉnh sửa thì post lên. Tôi làm biếng quá à. Hi.. hi!
levientrinh_10TH- Tổng số bài gửi : 30
Join date : 05/01/2011
Bai 15
toi gop y lai bai cua ong trinh 1 chut : cach tim UCLN
gan : tu so = tri tuyet doi cua tu so
gan : mau so = tri tuyet doi cua mau so
cac ban thao khao co ji gop y kien !
using System;
using System.Collections.Generic;
using System.Text;
namespace Bai15
{
class Program
{
// tim Uoc CHung Lon Nhat
static public int UCLN(int tu, int mau)
{
tu = Math.Abs(tu);
mau = Math.Abs(mau);
while (tu != mau)
{
if (tu > mau)
{
tu = tu - mau;
}
else
mau = mau - tu;
}
return tu;
}
static void Main(string[] args)
{
int ts, ms;
Console.WriteLine("Ban nhap tu so");
ts = int.Parse(Console.ReadLine());
Console.WriteLine("Ban nhap mau so");
ms = int.Parse(Console.ReadLine());
Console.WriteLine("Phan so ban da nhap: " + ts + "/" + ms);
int ucln = UCLN(ts, ms);
//chia tu so av mau so cho UCLN
ts /= ucln;
ms /= ucln;
Console.WriteLine("Phan so toi gian: " + ts + "/" + ms);
Console.ReadLine();
}
}
}
gan : tu so = tri tuyet doi cua tu so
gan : mau so = tri tuyet doi cua mau so
cac ban thao khao co ji gop y kien !
using System;
using System.Collections.Generic;
using System.Text;
namespace Bai15
{
class Program
{
// tim Uoc CHung Lon Nhat
static public int UCLN(int tu, int mau)
{
tu = Math.Abs(tu);
mau = Math.Abs(mau);
while (tu != mau)
{
if (tu > mau)
{
tu = tu - mau;
}
else
mau = mau - tu;
}
return tu;
}
static void Main(string[] args)
{
int ts, ms;
Console.WriteLine("Ban nhap tu so");
ts = int.Parse(Console.ReadLine());
Console.WriteLine("Ban nhap mau so");
ms = int.Parse(Console.ReadLine());
Console.WriteLine("Phan so ban da nhap: " + ts + "/" + ms);
int ucln = UCLN(ts, ms);
//chia tu so av mau so cho UCLN
ts /= ucln;
ms /= ucln;
Console.WriteLine("Phan so toi gian: " + ts + "/" + ms);
Console.ReadLine();
}
}
}
tranquocmanh10th- Tổng số bài gửi : 2
Join date : 04/01/2011
Re: Bài tập 15 đến 20
ong manhn la thang chuyen sua code ??
chilinh- Tổng số bài gửi : 12
Join date : 10/01/2011
Cảnh Cáo
Ê! Chỗ này không phải là nơi để chém gió nha!
Spam thì đi chỗ khác spam
Spam thì đi chỗ khác spam
nchnguyen- Tổng số bài gửi : 3
Join date : 05/01/2011
Age : 32
Đến từ : An Phú
Re: Bài tập 15 đến 20
ong tran quoc manh than men cua toi oi!!! bai cua ong noi la update cua ong trinh ma sao ong khong sua lai code ::: lo nhap vao mau so la so 0 vay sao chuong trinh xac dinh +_+
chilinh- Tổng số bài gửi : 12
Join date : 10/01/2011
Re: Bài tập 15 đến 20
tranquocmanh10th đã viết:toi gop y lai bai cua ong trinh 1 chut : cach tim UCLN
//toi chi them vao dieu kien neu nhap mau so bang 0 thi hoi lai thoi
gan : tu so = tri tuyet doi cua tu so
gan : mau so = tri tuyet doi cua mau so
cac ban thao khao co ji gop y kien !
using System;
using System.Collections.Generic;
using System.Text;
namespace Bai15
{
class Program
{
// tim Uoc CHung Lon Nhat
static public int UCLN(int tu, int mau)
{
tu = Math.Abs(tu);
mau = Math.Abs(mau);
while (tu != mau)
{
if (tu > mau)
{
tu = tu - mau;
}
else
mau = mau - tu;
}
return tu;
}
static void Main(string[] args)
{
int ts, ms;
Console.WriteLine("Ban nhap tu so");
ts = int.Parse(Console.ReadLine());
hoilai: Console.WriteLine("Ban nhap mau so");
ms = int.Parse(Console.ReadLine());
if(mau == 0)
{
goto hoilai;
}
Console.WriteLine("Phan so ban da nhap: " + ts + "/" + ms);
int ucln = UCLN(ts, ms);
//chia tu so av mau so cho UCLN
ts /= ucln;
ms /= ucln;
Console.WriteLine("Phan so toi gian: " + ts + "/" + ms);
Console.ReadLine();
}
}
}
chilinh- Tổng số bài gửi : 12
Join date : 10/01/2011
Re: Bài tập 15 đến 20
Linh a ! ăn cắp code thì cũng phải có nghệ thuật chút chứ em ? chứ mình gởi bài mà để tên người khac thì kỳ lắm !
tranquocmanh10th- Tổng số bài gửi : 2
Join date : 04/01/2011
Bài 15
Bài 15:
Nhập tử số và mẫu số của một phân số. Tìm dạng tối giản của phân số đó
Bài này mình viết theo hướng đối tượng
- Code:
using System;
namespace Bai15
{
/// <summary>
/// Lớp phân số
/// --------------------------------
/// Các thuộc tính
/// Tử số
/// Mẫu số
///--------------------------------
/// Các phương thức
/// Nhập
/// Xuất
/// Tối giản
/// </summary>
class PhanSo
{
//Hàm độc lập UCLN để tìm ước chung lớn nhất của 2 số a, b
public static int UCLN(int a, int b)
{
//Lấy trị tuyệt đối của a và b
a = Math.Abs(a);
b = Math.Abs(b);
//Tìm ước chung lớn nhất
while (a != b)
if (a > b)
{
a = a - b;
}
else
b = b - a;
return a; //a là ước chung lớn nhất
}
//Mỗi phân số có 2 thuộc tính là tử số và mẫu số
int tuso, mauso;
//Phương thức khởi dựng không đối số
public PhanSo()
{
tuso = 0;
mauso = 1;
}
//Phương thức khởi dựng 1 đối số
public PhanSo(int tu)
{
tuso = tu;
mauso = 1;
}
//Phương thức khởi dựng 2 đối số
public PhanSo(int tu, int mau)
{
tuso = tu;
if (mau != 0)
mauso = mau;
else
Console.WriteLine("Loi! mau so khong the bang khong");
}
//Phương thức nhập phân số
public void Nhap()
{
//Nhập tử số
Console.Write("Nhap tu so: ");
tuso = int.Parse(Console.ReadLine());
//Nhập mẫu số. Mẫu số phải khác 0
do
{
Console.Write("Nhap mau so: ");
mauso = int.Parse(Console.ReadLine());
} while (mauso == 0);
}
//Phương thức xuất phân số
public void Xuat()
{
if (tuso == 0)
Console.Write("0");
else
if (tuso % mauso == 0)
Console.Write(tuso / mauso);
else
Console.Write("({0} / {1})", tuso, mauso);
}
//Phương thức tối giản phân số
public void ToiGian()
{
//Nếu tử số = 0 thì không cần tối giản.
if (tuso != 0)
{
int UocChung = UCLN(tuso, mauso);
tuso = tuso / UocChung;
mauso = mauso / UocChung;
}
}
}
class Program
{
/// <summary>
/// Chương trình chính
/// </summary>
static void Main()
{
//Tạo ra phân số a
PhanSo a = new PhanSo();
//Nhập tử số và mẫu số cho phân số a
a.Nhap();
//Tối giản phân số a
a.ToiGian();
//Xuất phân số a sau khi đã tối giản
Console.Write("Phan so sau khi toi gian: ");
a.Xuat();
Console.ReadLine();
}
}
}
NanoShita- Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang
Bài 20
Bài 20.
Tìm 2 số nguyên tố có tổng bằng một số chẵn cho trước.
+ Nhận xét:
Gọi số chẵn cho trước là n thì cả 2 số nguyên tố cần tìm phải nhỏ hơn n.
+ Ý tưởng:
- Tìm tất cả các số nguyên tố nhỏ hơn n và gán vào một mảng.
- Đến đây, ta chỉ việc thử cộng 2 số bất kỳ trong mảng đó xem có bằng n không.
Nếu bằng thì xuất 2 số đó ra.
- Code:
using System;
namespace Bai20
{
class Program
{
/// <summary>
/// Hàm kiểm tra x có là số nguyên tố hay không
/// Xét các trường hợp x không là số nguyên tố như:
/// x < 2
/// x chia hết cho bất kỳ số nào từ 2 đến căn bậc 2 của x
/// Nếu x không thuộc các trường hợp đó thì x là số nguyên tố
/// </summary>
static bool IsNguyenTo(int x)
{
if (x < 2)
return false; //x Không là số nguyên tố
for (int i = 2; i <= Math.Sqrt(x); i++)
//Nếu x chia hết cho bất kỳ số nào từ 2 đến căn bậc 2 của x
//thì x không là số nguyên tố
if (x % i == 0)
return false; //x Không là số nguyên tố
return true; //x là số nguyên tố
}
/// <summary>
/// Chương trình chính
/// </summary>
static void Main()
{
int n = 0;
int i = 0, j = 0;
//Nhập vào số chẵn n
do
{
Console.Write("Nhap mot so chan: ");
n = int.Parse(Console.ReadLine());
} while (n % 2 != 0);
//Tìm các số nguyên tố nhỏ hơn n và gán vào mảng NguyenTo
int[] NguyenTo = { }; //Tạo mảng NguyenTo có 0 phần tử
for (i = 2; i < n; i++)
//Nếu i là số nguyên tố thì gán i vào mảng NguyenTo
if (IsNguyenTo(i))
{
//Tăng kích thước mảng NguyenTo thêm một phần tử
Array.Resize<int>(ref NguyenTo, NguyenTo.Length + 1);
//Gán i vào mảng NguyenTo
NguyenTo[NguyenTo.Length - 1] = i;
}
//Tìm 2 số nguyên tố có tổng bằng n
bool IsFound = false; //IsFound cho biết đã tìm thấy rồi chưa
i = 0;
while (!IsFound && i < NguyenTo.Length)
{
j = i;
while (!IsFound && j < NguyenTo.Length)
{
if (NguyenTo[i] + NguyenTo[j] == n)
{
Console.Write("{0} + {1} = {2}", NguyenTo[i], NguyenTo[j], n);
IsFound = true; //Đã tìm thấy thoát khỏi 2 vòng lặp
}
j++;
}
i++;
}
//Nếu không tìm thấy thì thông báo
if (!IsFound)
Console.Write("Khong tim thay 2 so nguyen to co tong bang " + n);
Console.ReadLine();
}
}
}
Được sửa bởi NanoShita ngày Fri Jan 14, 2011 12:59 am; sửa lần 1.
NanoShita- Tổng số bài gửi : 12
Join date : 12/01/2011
Age : 33
Đến từ : Long Xuyên, An Giang
Bài 20
Lưu ý: các bạn xem code với tinh thần học hỏi. Nếu có gì không hiểu xin liên hệ với Lê Viễn Trình. SDT: 01274.916935
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static int nguyento(int n)
{
if (n == 2 || n == 3) return 1;
else
if (n <= 1)
return 0;
else
{
int dem = 0;
for (int i = 2; i <= n / 2; i++)
{
if (n % i == 0)
dem += 1;
}
if (dem == 0) return 1;
else
return 0;
}
}
static void Main(string[] args)
{
int n;
//Số nguyên tố nhỏ nhất là số 2, cho nên tổng nhỏ nhất sẽ là 4
do
{
Console.WriteLine("Ban nhap so nguyen duong chan n >= 4");
n = int.Parse(Console.ReadLine());
} while (n < 4 || n % 2 != 0);
int dem = 0;
//Xá định có bao số nguyên tố từ 2 đến n -1
for (int i = 2; i < n; i++)
{
if (nguyento(i) == 1)
{
dem += 1;
}
}
int[] a = new int[dem];
int h = 0;
//Lưu các số nguyên tố vào trong một mảng
for (int i = 2; i < n; i++)
{
if (nguyento(i) == 1)
a[h++] = i;
}
int thoa = 0;
//Cho biến chạy i đi từ 0 đến cuối, cho biến j chạy từ i đến cuối
//Mục đích của việc này nhằm mục đích xóa bỏ các cặp kết quả trùng nhau.
//Ví dụ: Nếu n =7. Kết quả có thể bị lặp là 2, 5 và 5,2
Console.WriteLine("Dap an cua de bai");
for (int i = 0; i < dem; i++)
{
for (int j = i; j < dem; j++)
{
if (a[i] + a[j] == n)
{
Console.WriteLine(a[i] + " " + a[j]);
thoa++;
}
}
}
if (thoa == 0)
Console.WriteLine("Khong co so nguyen to nao thoa man yeu cau de bai");
Console.ReadLine();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static int nguyento(int n)
{
if (n == 2 || n == 3) return 1;
else
if (n <= 1)
return 0;
else
{
int dem = 0;
for (int i = 2; i <= n / 2; i++)
{
if (n % i == 0)
dem += 1;
}
if (dem == 0) return 1;
else
return 0;
}
}
static void Main(string[] args)
{
int n;
//Số nguyên tố nhỏ nhất là số 2, cho nên tổng nhỏ nhất sẽ là 4
do
{
Console.WriteLine("Ban nhap so nguyen duong chan n >= 4");
n = int.Parse(Console.ReadLine());
} while (n < 4 || n % 2 != 0);
int dem = 0;
//Xá định có bao số nguyên tố từ 2 đến n -1
for (int i = 2; i < n; i++)
{
if (nguyento(i) == 1)
{
dem += 1;
}
}
int[] a = new int[dem];
int h = 0;
//Lưu các số nguyên tố vào trong một mảng
for (int i = 2; i < n; i++)
{
if (nguyento(i) == 1)
a[h++] = i;
}
int thoa = 0;
//Cho biến chạy i đi từ 0 đến cuối, cho biến j chạy từ i đến cuối
//Mục đích của việc này nhằm mục đích xóa bỏ các cặp kết quả trùng nhau.
//Ví dụ: Nếu n =7. Kết quả có thể bị lặp là 2, 5 và 5,2
Console.WriteLine("Dap an cua de bai");
for (int i = 0; i < dem; i++)
{
for (int j = i; j < dem; j++)
{
if (a[i] + a[j] == n)
{
Console.WriteLine(a[i] + " " + a[j]);
thoa++;
}
}
}
if (thoa == 0)
Console.WriteLine("Khong co so nguyen to nao thoa man yeu cau de bai");
Console.ReadLine();
}
}
}
levientrinh_10TH- Tổng số bài gửi : 30
Join date : 05/01/2011
Bài tập 18 :Bài làm của Nguyễn An
Cách giải bài toán này nếu nói đơn giản lại để viết code như sauroot đã viết:
[b]Bài 18.
Một số nguyên dương được gọi là đối xứng nếu chữ số thứ nhất bằng chữ số cuối, chữ số thứ hai bằng chữ số gần cuối. Hãy nhập các số nguyên dương m, n (m<n). In ra các số nguyên dương đối xứng trong khoảng từ m đến n
Số đối xứng là số khi đạo ngược lại vẫn bằng số ban đầu . Ví dụ : 101 bạn hãy thử đảo ngược nó lại xem nó là bào nhiu ? và có phải số đều tiên bằng số cuối ?
Code để giải bài này chủ yếu ở chổ này :
- Code:
int daoso(int num)
{
int temp= 0;
while (num != 0)
{
temp = temp*10 + num % 10;
num /= 10;
}
return temp;
}
Bài làm :
- Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace sodoixung
{
class sodoixung
{
private int n,m;
public void nhap()
{
Console.WriteLine("Hay nhap vao so n :");
n = int.Parse(Console.ReadLine());
do
{
Console.WriteLine("Hay nhap vao so m :");
m = int.Parse(Console.ReadLine());
}
while (n > m);
}
int daoso(int num)
{
int temp= 0;
while (num != 0)
{
temp = temp*10 + num % 10;
num /= 10;
}
return temp;
}
public void xuat()
{
Console.WriteLine("cac so doi xung : ");
for (int i = n; i <= m; i++)
if (daoso(i) == i)
Console.WriteLine(" " + i);
}
}
class Program
{
static void Main(string[] args)
{
sodoixung so = new sodoixung();
so.nhap();
so.xuat();
Console.ReadLine();
}
}
}
Được sửa bởi nguyenan ngày Fri Jan 14, 2011 7:18 am; sửa lần 1.
Bài tập 19 :Bài làm của Nguyễn An
root đã viết:
Bài 19.
Tìm các số đối xứng bé hơn hoặc bằng n mà bình phương cũng là một số đối xứng
- Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace sodoixung
{
class sodoixung
{
private int n;
public void nhap()
{
Console.WriteLine("Hay nhap vao so n :");
n = int.Parse(Console.ReadLine());
}
int daoso(int num)
{
int temp= 0;
while (num != 0)
{
temp = temp*10 + num % 10;
num /= 10;
}
return temp;
}
public void xuat()
{
Console.WriteLine("cac so doi xung : ");
for (int i = 0; i <= n; i++)
if (daoso(i) == i && daoso(i*i)==i*i)
Console.WriteLine(" " + i);
}
}
class Program
{
static void Main(string[] args)
{
sodoixung so = new sodoixung();
so.nhap();
so.xuat();
Console.ReadLine();
}
}
}
[b]Bai tap 15 cach #[/b]
Bài này mình viết hơi dài .Mình thấy bài bạn Trình viết ngắn và cũng dễ hiểu.
Bài này chủ yếu mình muốn làm phong phú thêm số cách giải để các bạn có thể tham khảo.
Yêu cầu bài toán:Rút gọn một phân số
ý tưởng:Bài này chủ yếu mình phân ra 4 trường hợp:
1/tu%mau==0.
2/mau%tu==0
3/tu>mau
4/mau>tu.
Đây là code của mình:
using System;
using System.Collections.Generic;
using System.Text;
namespace bai15
{
class PhanSo
{
private int tuSo;
private int mauSo;
public PhanSo()
{
this.tuSo = 1;
this.mauSo = 1;
}
//Ham nhap tu so va mau so
public void input()
{
Console.Write("Ban hay nhap tu so =");
this.tuSo = int.Parse(Console.ReadLine());
Console.Write("Ban hay nhap mau so =");
this.mauSo = int.Parse(Console.ReadLine());
}
//Ham xet tu va mau
public void KiemTraTuMau(int a,int b)
{
if (a % b == 0)
{
a = a / b;
b = 1;
}
else if (b % a == 0)
{
b = b / a;
a = 1;
}
else if(Math.Abs(a)>Math.Abs(b))
this.RutGon(ref a,ref b);
else
this.RutGon(ref b, ref a);
this.XetKetQua(a,b);
}
//Ham xet ket qua sau khi rut gon
public void XetKetQua(int x,int y)
{
if (x < 0 && y < 0)
{
x = Math.Abs(x);
y = Math.Abs(y);
}
this.tuSo = x;
this.mauSo = y;
}
//Ham rut gon
public void RutGon(ref int a,ref int b)
{
int t = Math.Abs((int)b / 2);
for (int i = 2; i <= t; i++)
{
if (a % i == 0 && b % i == 0)
{
a = a / i;
b = b / i;
t = Math.Abs(b / 2);
i = 1;
}
}
}
//Ham xet xem mau co bang 0 hay khong
static int MauKhacKhong(int a, int b)
{
if (b == 0)
throw new Exception();
return a / b;
}
//Ham chinh
static void Main(string[] args)
{
Console.WriteLine("Bai Toan:");
Console.WriteLine("Rut Gon mot phan so ");
PhanSo ps = new PhanSo();
ps.input();
try
{
MauKhacKhong(ps.tuSo, ps.mauSo);
ps.KiemTraTuMau(ps.tuSo, ps.mauSo);
Console.Write("\nKet qua sau khi rut gon: ");
Console.WriteLine(ps.tuSo + "/" + ps.mauSo);
}
catch
{
Console.WriteLine("Error!,Divide by Zero");
}
}
}
}
Bài này chủ yếu mình muốn làm phong phú thêm số cách giải để các bạn có thể tham khảo.
Yêu cầu bài toán:Rút gọn một phân số
ý tưởng:Bài này chủ yếu mình phân ra 4 trường hợp:
1/tu%mau==0.
2/mau%tu==0
3/tu>mau
4/mau>tu.
Đây là code của mình:
using System;
using System.Collections.Generic;
using System.Text;
namespace bai15
{
class PhanSo
{
private int tuSo;
private int mauSo;
public PhanSo()
{
this.tuSo = 1;
this.mauSo = 1;
}
//Ham nhap tu so va mau so
public void input()
{
Console.Write("Ban hay nhap tu so =");
this.tuSo = int.Parse(Console.ReadLine());
Console.Write("Ban hay nhap mau so =");
this.mauSo = int.Parse(Console.ReadLine());
}
//Ham xet tu va mau
public void KiemTraTuMau(int a,int b)
{
if (a % b == 0)
{
a = a / b;
b = 1;
}
else if (b % a == 0)
{
b = b / a;
a = 1;
}
else if(Math.Abs(a)>Math.Abs(b))
this.RutGon(ref a,ref b);
else
this.RutGon(ref b, ref a);
this.XetKetQua(a,b);
}
//Ham xet ket qua sau khi rut gon
public void XetKetQua(int x,int y)
{
if (x < 0 && y < 0)
{
x = Math.Abs(x);
y = Math.Abs(y);
}
this.tuSo = x;
this.mauSo = y;
}
//Ham rut gon
public void RutGon(ref int a,ref int b)
{
int t = Math.Abs((int)b / 2);
for (int i = 2; i <= t; i++)
{
if (a % i == 0 && b % i == 0)
{
a = a / i;
b = b / i;
t = Math.Abs(b / 2);
i = 1;
}
}
}
//Ham xet xem mau co bang 0 hay khong
static int MauKhacKhong(int a, int b)
{
if (b == 0)
throw new Exception();
return a / b;
}
//Ham chinh
static void Main(string[] args)
{
Console.WriteLine("Bai Toan:");
Console.WriteLine("Rut Gon mot phan so ");
PhanSo ps = new PhanSo();
ps.input();
try
{
MauKhacKhong(ps.tuSo, ps.mauSo);
ps.KiemTraTuMau(ps.tuSo, ps.mauSo);
Console.Write("\nKet qua sau khi rut gon: ");
Console.WriteLine(ps.tuSo + "/" + ps.mauSo);
}
catch
{
Console.WriteLine("Error!,Divide by Zero");
}
}
}
}
nguyenthanhhau- Tổng số bài gửi : 6
Join date : 05/01/2011
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|