Hàm Kiểm Tra số Nguyên Tố trả về kết qủa lỗi [SOLVED]

mọi người giúp mình xem thuật toán mình sai chỗ nào với
đề bài : nhập vào số n in ra n số nguyên tố đầu tiên.
code của mình k in đc 2,3.

#include"conio.h"
#include"stdio.h"
#include"math.h"
long ktngto(int nto)
{
	if((nto==1)||(nto==0)) return 0;
	int i;
	for(i=2;i<=sqrt(nto);++i)
	{
		if(nto%i==0) return 0;
		return 1;
	}
}
int main()
{
	int n;
	int tiep=0;
	int k=2;
	printf("nhap n = ");
	scanf("%d",&n);
	while(tiep<n)
	{
		if(ktngto(k)==1)
		{
			printf("%d ",k);
			tiep++;
		}
		k++;
	}
	getch();
}
1 Like

Mới vô nhìn code thấy đoạn này là mất hứng rồi -_-

:slight_smile::slight_smile: sao lại mất hứng ^^

long ktngto(int nto)
{
	if((nto==1)||(nto==0)) return 0;
	int i;
	for(i=2;i<=sqrt(nto);i++)
		if(nto%i==0) return 0;
        return 1;
}

Sai ở:

Đặt ngoài vòng for.

cám ơn nhé !:slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?