关于素数的问题,内存直接崩溃了。怎么回事
关于素数的问题,内存直接崩溃了。然后看看我这个算法是不是有问题?
#include"stdio.h"
int main(){
int i,j;
for(i=1;i<=20;i++)
{for(j=2;j<=i;j++)
{
if(i%j==0) break;
if(i==j)
printf("素数有:%d\n",i);
}
}
}
[解决办法]
#include<stdio.h>int main(){ int i,j; for(i=1;i<=20;i++) { for(j=2;j<=i;j++) { if(i%j==0) break; } if(i==j) printf("素数有:%d\n",i); } return 0;}
[解决办法]
int sushup(int m) { int tmp; int count = sqrt(m)+1; for (tmp = 2; tmp < count; tmp++) { if (m % tmp == 0) { break; } } if (tmp >= count) { return 1; } else { return 0; }}
[解决办法]
那就是你软件的问题,并不是你写的程序的问题。。。估计是你电脑长时间没关机,并且内存泄露太多之类的
[解决办法]
lz是算法有问题,如果i=j,那肯定i%j=0,所以就跳出循环了。