解题思路:
这个有点懂西,不过身为ikun的我只用了两分钟就想到了一个好办法:
就是先用一个数组把所有需要的质数存储起来,这样我们需要第几个质数,我们就拿出第几个元素即可,我这里是j-1个=_=||
注意事项:
记得点赞加收藏>_<
参考代码:
#include <stdio.h>
int y(int x, int a[], int b);
int main()
{
const int n = 10000;//直接求出10000个质数
int x[10000] = {2};//对数组第一个元素赋值为2
int j = 1,i = 3;
while (j < n)
{
if ( y(i, x, j))
{
x[j++] = i; //如果 y(i, x, j)返回是1,则i是质数,将其放入数组j,并将j值+1,用来存放下一个质数
}
i++;
}
scanf("%d",&j);//输入要得到的第j个质数
printf("%d ", x[j-1]);//x[0]才是第一个质数
return 0;
}
int y(int x, int a[], int b)//判断后面的数是否是质数
{
int c = 1;
int z;
for (z=0; z<b; z++)
{
if (x % a[z] == 0)
{
c = 0;
break;
}
}
return c;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:1204 |
C语言程序设计教程(第三版)课后习题11.12 (C语言代码)浏览:719 |
妹子杀手的故事 (C语言代码)浏览:680 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:629 |
A+B for Input-Output Practice (VI) (C++代码)浏览:417 |
简单的a+b (C语言代码)浏览:521 |
拆分位数 (C语言代码)浏览:1327 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1283 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1420 |
WU-复数求和 (C++代码)浏览:2006 |