我寫了一個C程序來打印給定範圍內的素數來鍛鍊。 這是代碼:尋找素數執行程序需要一些時間
#include <stdio.h>
#include <stdbool.h>
int main (void) {
int num1,int num2;
bool flag;
int i,j,count=0;
printf("Enter range 1:");scanf("%d",&num1);
printf("Enter range 2:");scanf("%d",&num2);
if(num1<2)
num1++;
for(i=num1;i<=num2;i++){
j=2;
while(j<i){
if(i%j==0){
flag=false;
break;
}
else{
flag=true;
}
j++;
}
if(flag){
printf("%d ",i);
count++;
}
}
printf("\n");
printf("Number of prime number between %d and %d is %d\n",
num1,num2,count);
return 0;
}
代碼工作如我所料,但是當我輸入1-100000或更大的程序之間的範圍內打印像無限循環輸出,我不得不等待一段時間程序的打印所有素數。
我的問題是爲什麼程序需要一些時間來打印1-100000或更大範圍內的所有質數?