|
2鱼币
- #include <stdio.h>
- int main()
- {
- int i,num;
- bool flag = 1;
- printf("请输入一个整数:");
- scanf("%d",&num);
- for (i= 2; i< num/2; i++ )
- {
- if (num % i == 0)
- {
- flag= 0;
- }
- }
- if(flag)
- {
- printf("%d是一个素数",num);
- }
- else
- {
- printf("%d不是一个素数",num);
- }
- return 0;
- }
复制代码
请问能解释一下for循环的用处吗?看不懂
- #include <stdio.h>
- #include <stdbool.h>
- int main(){
- int num;
- bool prime = 1;
-
- printf("输入一个整数:");
- scanf("%d", &num);
-
- /*
- 这里从 2 开始测试,假设被 num 除整,则不是素数
- 只需测试至 num 的一半便可,
- 比如:20(一半是 10)
- 20 的所有因数是: 1, 2, 4, 5, 10, 20
- (这里你会发现,因数不会超过 num 的一半,最大的 10 也不用测试,因为 2*10 = 20,2 已经测试过了)
- */
- for(int i=2; i<num/2; i++) if(!(num%i)) prime = 0;
-
- if(prime) printf("%d 是一个素数", num);
- else printf("%d 不是素数", num);
-
- return 0;
- }
复制代码
|
|