これは私の素数を計算するためのコードです。 基本的に私はそれが素数であるかどうかをチェックするために計算したすべての前の素数で数分の1を割ります。私は正解を得ていませんでした。私は間違いを理解するためにコードを変更し続けました。ループに入るたびにiの値が0に初期化されていないことがわかりました。代わりに私は1,2,3です。なぜこれが起こっているのか理解できません。私はビジュアルスタジオを使用しています。 なぜこれが起こっているのか説明してください。変数の値が変更されていません
#include<stdio.h>
#include<conio.h>
int main()
{
int primes[10000];
int i,j,k;
int primecheck;
primes[0]=2;
k=1;
for(j=3;;j+=2)
{
primecheck = 1;
i=0;
for(i=0;i<k;i++);
{
printf("%d\n%d\n%d\n",i,j,j%primes[i]);// this helped me figure
// out the problem
if(j%primes[i] == 0)
{
primecheck = 0;
printf (" %d, %d\n",j,primes[i]);
}
printf("%d\n",k);
}
if (primecheck == 1)
{
primes[k]=j;
printf("%d prime is %d\n",k+1,primes[k]);
k++;
if(k == 5)
{
break;
}
}
}
printf("%d",primes[k-1]);
getch();
}
を試してみてください(I = 0; I
BLUEPIXY