助けてください! Cのこの素数プログラムがなぜ機能していないのですか?なぜこの素数のCプログラムが間違っていますか?
#include<stdio.h>
#include<conio.h>
int main()
{
int n,i;
printf("enter the number");
scanf("%d",&n);
for(i=2;i<=n-1;i++)
{
if(n%i==0)
printf("%d is not a prime number",n);
else
printf("%d is a prime number",n);
}
getch();
}
なぜこのプログラムは動作しませんか?
_Whyこのプログラムが動作していません..._正確には動作しません。 –
ヒント:すべての可能な除数をテストした後に、数値がプライムであるかどうかを決定する必要があります。また、@flaviodesousaが指摘するように、n-1までの除数をテストすることは役に立たない。 – fvu
実際に除数> sqrt(n)は役に立ちません – flaviodesousa