题目描述
解题思路
就是求素数
先动态开辟一个区域,开辟为n个整型的大小的空间。
注意:
用
count
记录是第几个素数。打印的时候注意每一行的结尾不能有空格。
因为我是从
0
处开始存储素数的,打印的时候,m,n
都有减一哦!
具体实现看代码:
代码
#include <stdio.h> #include <math.h> #include <stdlib.h> int main() { int m, n,i,count=1,x; scanf("%d%d", &m, &n); int* a = (int*)malloc(n * sizeof(int)); if (a == NULL) { return 0; } a[0] = 2; for (i = 3;count<=n; i++) { for (x = 2; x <= (int)sqrt(i); x++) { if (i % x == 0) { break; } } if (x > (int)sqrt(i)) { a[count++] = i; } } x = 0; for (i = m-1; i < n; i++) { printf("%d", a[i]); x++; if (x != 10&&i!=n-1) { printf(" "); } else if (x == 10) { x = 0; printf("\n"); } } free(a); a = NULL; return 0; }