int main() { int input = 0; scanf_s("%d",&input); if (input < 2) { printf("wrong input"); return 0; } for (int i = 2; i < input; i++) { if (input % i == 0)//能整除說明不是素數 { printf("not prime");//不是素數就不要循環下去了 return 0; } } //如果流程到了這里,說明input已經對i到input-1這中間所有的整數都嘗試過了 //而且都不能整除,說明是素數。 printf("is prime"); return 1;
今天又想出了一種方法,感覺這種比較好理解。
int main() { int Isprime ;//素數標志,如果一個數是素數,它的結果就是1,不是它的結果即使0 int input = 0; scanf_s("%d", &input); if (input < 2) { printf("wrong input "); return 0; } for (int i = 2; i < input; i++) { if (input%i == 0) { Isprime = 0;//不是素數 break;// 不是素數就不用往下循環了,直接跳出來。 } else { Isprime = 1; } } if (Isprime == 1) { printf("is prime\n"); } else { printf("not prime\n"); } }