出错了
#include <stdio.h>int main()
{
int k,j,s,g,m;
printf("a");
scanf("%d",&k);
long long q;
long long a;
m = 0;
a = 0;
printf("%d\n",a);
while (k != 1)
{
j = k--;
m = 0;
for(s = 1;j != s;j--)
{
if (((k + 1) % j == 0))
{
printf("%d,%d,[%d],%d\n",j,k,q,a);
m++;
}
}
if (m <= 2)
{
q = j;
a++;
}
}
return 0;
}
求k及k-1,2,3,4...的所有素数 本帖最后由 baige 于 2020-8-12 15:44 编辑
问题很多,是k到0的素数吗?还是什么,题目描述不是很清楚, baige 发表于 2020-8-12 15:39
问题很多,是k到0的素数吗?还是什么,题目描述不是很清楚,
是的 #include <stdio.h>
#include <math.h>
int main()
{
int k;
printf("k = ");
scanf("%d",&k);
for(int i = k; i >= 2; --i)
{
int flag = 1;//模拟布尔类型
for(int j = 2; j <= sqrt(i); ++j)
{
if(i%j==0)
{
flag = 0;
break;
}
}
if(flag)
{
printf("%d\n",i);
}
}
return 0;
} baige 发表于 2020-8-12 15:50
谢谢 首先我们要知道素数的求法,当number满足从2到根号number没有数可以整除,它就是素数,
从k到0的素数我们从k开始遍历,到k=2,当k<2的数不会是素数,所以不需要到2以下,
k到0的素数个数,一般不会是k个,大多数都只会小于k个数
而且对于数组,我们要先赋值,在输出 滑稽张峻铭 发表于 2020-8-12 15:54
谢谢
我觉得你可以发一下完整的题目,我看一下
页:
[1]