30/09/2018, 19:55

mọi người mình bài này với : viết chương trình c in ra các số nguyên tố thuộc trong đoạn [a;b] với a, b là các số nguyên dương

mọi người mình bài này với : viết chương trình c in ra các số nguyên tố thuộc trong đoạn [a;b] với a, b là các số nguyên dương

Ngô Doãn Tuấn viết 22:07 ngày 30/09/2018

Bạn ơi. Bạn nên nghĩ hướng làm rồi up code và hỏi phần còn chưa biết nhé !
Gợi ý cho bạn làm :
Bạn cần kiểm tra 1 số có phải số nguyên tố hay không ?
Và cho kiểm tra từ a->b, nếu gặp số là số nguyên tố trong khoảng đó thì bạn in ra màn hình
Chúc bạn code thành công

Ngô Doãn Tuấn viết 22:06 ngày 30/09/2018

kiểm tra 1 số có phải số nguyên tố hay không ?

Phần này dùng hàm con là tối ưu code nhất

Interns viết 21:59 ngày 30/09/2018

Đây là hàm kiểm tra số nguyên tố

Số nguyên tố: Số nguyên tố là số tự nhiên chỉ chia hết cho 1 và chính nó. Ngoài ra nó không chia hết cho bất cứ số nào khác. Số 0 và 1 không được coi là số nguyên tố. - Theo wiki Số 2 là số nguyên tố chẵn duy nhất. Cấu trúc ở dạng C: int soNguyenTo(int soA) { if (soA < 2) return 0; for (int i = 2; i <= sqrt((float)soA); i ++) { if (soA%i==0) { return 0; } } return 1; } Định nghĩa : Do người dùng tự tạo. Có thể có nhiều…

Trở lại với bài của bạn

for(int i=a; i<=b; i++)
{
       if(laSoNgTo(i) == true)         //hàm laSoNgTo return true nếu là số nguyên tố ngược lại return false
               printf("%d\n", i);      //thì in ra màn hình
}
Mai Xuân Sơn viết 22:08 ngày 30/09/2018

bạn có thể cho mình tham khảo code hoàn chỉnh của bạn không? mình cảm ơn nhiều, mình mới học lập trình nên còn bở ngỡ

Mai Xuân Sơn viết 22:07 ngày 30/09/2018

bi

//xuất số nguyên tố trong đoạn a,b
#include<stdio.h>
#include<conio.h>
int main()
{
	int a, b;
	printf_s("\nnhap a= ");
	scanf_s("%d", &a);
	printf_s("\nnhap b= ");
	scanf_s("%d", &b);
	if (a > b)
	{
		return 0;
	}
	for (int i = a; i <= b; ++i)
	{
		for (int j = 2; j < i; j++)
		{
			if (i%j != 0)
			{
				printf_s("\n%d", i);
			}
		}
	}
	_getch();
	return 0;

}

đây là đoạn code của mình bạn coi thử như thế nào

Ngô Doãn Tuấn viết 22:03 ngày 30/09/2018

if (a > b) { return 0; }

Sao ở đây bạn lại return 0 nhỉ
Gợi ý cho bạn làm :
Bạn cần kiểm tra 1 số có phải số nguyên tố hay không ?
Và cho kiểm tra từ a->b, nếu gặp số là số nguyên tố trong khoảng đó thì bạn in ra màn hình
Chúc bạn code thành công

Mai Xuân Sơn viết 22:06 ngày 30/09/2018

cái đó hình như là lúc đó mình đọc đề thiếu, tưởng đâu cho a>b hay a<b nên mới xét trường hợp đó để return 0

Ngô Doãn Tuấn viết 22:00 ngày 30/09/2018

Nếu bạn muốn kiểm tra điều kiện thì có thể dùng do while để kiểm tra điều kiện hợp lý

Mai Xuân Sơn viết 22:04 ngày 30/09/2018

dùng do whi

OK, thanks bạn nhiều rất vui sau này có thể thảo luận với bạn những bài khó hơn:slight_smile:

Ngô Doãn Tuấn viết 22:05 ngày 30/09/2018

Mình cũng còn kém lắm. Nếu được thảo luận cùng bạn thì mình sẵn sàng
Tối code ăn hành , à nhầm an lành nhé

Bài liên quan
0