|
发表于 2021-1-1 13:35:10
|
显示全部楼层
本楼为最佳答案
原来打算从今天起,不再回答问题了,但还是凑够技术值 500 吧,还差 16 个,做个完美
- #include<stdio.h>
- #include<math.h>
- int main()
- {
- int a, b, k = 0, n = 0, arr[300], i, j;
- scanf("%d%d", &a, &b);
-
- for (i = 0; i <= b; i++)
- {
- if (a <= b)
- {
- arr[i] = a; //为数组赋初值
- a++;
- k++;
- }
- }
- for (i = 2; i < sqrt(b); i++) //如果需要找a-b范围内的素数,只须进行到除数为根号下n(取整数就可)
- {
- for (j = 0; j <= k; j++)
- if (arr[j] != 0)
- if (arr[j] % i == 0)
- {
- arr[j] = 0;
- }
- }
- printf("\n");
- for (i = 0; i <= k; i++)
- {
- if (arr[i] != 0)
- {
- printf("%3d ", arr[i]);
- n++;
- }
- if (n == 10) // 满10个换行
- {
- printf("\n");
- n = 0; // 一次完成之后初始化
- }
- }
- printf("\b"); // 删除最后那个素数后面的空格
- printf("\n");
- return 0;
- }
复制代码 |
|