我嘗試打印質數; 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