pat-bl-1013
2016-11-12 17:28
225 查看
pat-bl-1013
2016-11-12
方法:求出从1到第n个素数,存储到prime数组里;最后输出从m到第n个素数
未AC前出错2处,都是比较智障的错误,见代码内注释
难点:输出格式算是一个小难点,见代码内注释
-Fin-
2016-11-12
方法:求出从1到第n个素数,存储到prime数组里;最后输出从m到第n个素数
未AC前出错2处,都是比较智障的错误,见代码内注释
难点:输出格式算是一个小难点,见代码内注释
/**pat-bl-1013 *2016-11-12 *C version 1.0 *未AC前出错2处 */ #include<stdio.h> #include<math.h> int main() { int m, n, i, j, k, spaceFlag = 0; //printf("input m & n:\n"); int prime[10001] = {1, 2, 3};//出错2:prime[0]置1,以便第i个素数存储在prime[i] //printf("input m & n:\n"); scanf("%d%d", &m, &n); //printf("m = %d n = %d\n", m, n); for(i = 5, k = 3;k <= n;i++) { for(j = 2;j <= (int)sqrt((double)i);j++) { if(i % j == 0)//出错1:>_<忘写了==0,调了好久才发现 { //printf("%d mod %d = %d\n", i, j, i%j); break; } } if(j > (int)sqrt((double)i)) { prime[k++] = i++; //printf("prime[%d] = %d\n", k-1, prime[k-1]); } } for(k = m;k <= n;k++) { if((k-m)%10 == 0)//换行处理在输出数据之前。(k-m)为10的整数倍则换行,否则输出空格 { if(k != m)//第一个数据不换行 putchar('\n'); } else putchar(' '); printf("%d", prime[k]); } putchar('\n'); }
-Fin-
相关文章推荐
- pat(B) 1013. 数素数
- PAT(乙级)1013
- PAT-BL-1007
- 【C++】浙大PAT (Basic Level)1013. 数素数 (20)
- Pat(Basic Level)Practice--1013(数素数)
- [并查集压缩路径]PAT1013 Battle Over Cities
- PAT-乙级-1013
- pat advanced 1013
- PAT乙级1013
- pat-bl-1030
- pat-bl-1032
- pat-bl-1037
- pat乙级1013. 数素数 (20)
- PAT 乙级 1013
- PAT乙级1013 数素数
- PAT (Basic Level) Practise (中文)1013. 数素数 (20)
- PAT (Advanced Level) Practise 1013 Battle Over Cities
- pat 1013 Battle Over Cities
- PAT (Advanced Level) Practise 1013. Battle Over Cities (25)
- PAT 1013. 数素数 (20)