赞
踩
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
求小于n的所有素数,按照每行10个显示出来。
Input
输入整数n(n<10000)。
Output
每行10个依次输出n以内(不包括n)的所有素数。如果一行有10个素数,每个素数后面都有一个空格,包括每行最后一个素数。
Sample Input
100
Sample Output
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
-
- #include <stdio.h>
-
- int main()
-
- {
-
- int n;
-
- int i;
-
- int temp;
-
- int a = 0;
-
- scanf("%d",&n);
-
- for(i = 2; i <= n; i++)//因为1不是素数可以排除,所以从2开始遍历
-
- {
-
- if(i == 2)//因为2一定是素数,所以直接输出
-
- {
-
- printf("%d ",i);
-
- a++;//这是一个计数器,方便等下一行有十个数的输出
-
- }
-
- else
-
- {
-
- for(temp = 2; temp < i; temp++)//判断i是否是素数,我们通过找到另外一个temp来遍历
-
- {
-
- if(i % temp == 0)//找到能被i整除的数字temp,这个不是素数,跳出循环
-
- {
-
- break;
-
- }
-
- }
-
- if(i == temp)//如果从temp=2开始到i-1这些数字都找不到能被i整除的数(也就是说这个i就是素数),要把它输出来
-
- {
-
- printf("%d ",i);
-
- a++;
-
- if(a%10==0)
-
- printf("\n");
-
- }
-
- }
-
-
-
- }
-
- return 0;
-
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。