我尝试打印质数; 2至100万。但没有打印在控制台上。你能检查我的代码吗?我怎样才能使这个代码更优化?素数优化C
这里是我的代码:
#include <stdio.h>
#include <math.h>
main()
{
int num, sr, num2;
for (num = 2; num <= 1000000; num++) {
sr = (int) sqrt(num);
for (num2 = 2; sr % num2 != 0; num2++) {
if (sr == num2) {
printf("%d\n", sr);
}
}
}
}
单步调试器中的代码和错误应该立即明显。 – 2013-03-17 18:43:33
提示:如果sr == 1和num2 = 2,sr%num2是什么? – Michael 2013-03-17 18:55:45
你可以通过指出3以上的所有素数是6k + 1或6k-1的形式来优化它。 – 2013-03-17 23:56:41