39:第n小的质数

39:第n小的质数
    总时间限制:    1000ms    内存限制:    65536kB
描述
    输入一个正整数n,求第n小的质数。
输入
    一个不超过10000的正整数n。
输出
    第n小的质数。
样例输入
    10
样例输出
    29

方法一:老实枚举计数寻找到第n个质数然后输出。

复制代码
 1 #include<stdio.h>
 2 #include<math.h>
 3 int main(int argc, char *argv[])
 4 {
 5     long i,n,count;
 6     long j,flag,t;
 7     scanf("%d",&n);  //需要寻找第n个质数 
 8     count=0;    //已经寻找到count个 
 9     
10     i=2;
11     //i从2开始逐渐增大。依次判断i的值是否是质数并计数 
12     while(count<n)
13     {
14         //判断i是否质数
15         j=2;flag=0;t=sqrt(i);
16         while(j<=t)
17         {
18             if(i%j==0)
19             {
20                 flag=1;
21                 break;
22             }
23             j++;
24         }
25         //如果i是质数,count计数器加1 
26         if(flag==0)   count++;
27         i++;//准备判断下一个数 
28     }
29     printf("%d\n",i-1);
30     return 0;
31 }
复制代码

方法二:离线计算,先打印出10000质数存到数组中,然后……呵呵

把上面的代码稍微修改一下,用来生成质数并输出到文件里面:

复制代码
 1 #include<stdio.h>
 2 #include<math.h>
 3 int main(int argc, char *argv[])
 4 {
 5     long i,n,count;
 6     long j,flag,t;
 7     freopen("39.out","w",stdout);
 8     //scanf("%d",&n);  //需要寻找第n个质数 
 9     n=10003;
10     count=0;    //已经寻找到count个 
11     
12     i=2;
13     //i从2开始逐渐增大。依次判断i的值是否是质数并计数 
14     while(count<n)
15     {
16         //判断i是否质数
17         j=2;flag=0;t=sqrt(i);
18         while(j<=t)
19         {
20             if(i%j==0)
21             {
22                 flag=1;
23                 break;
24             }
25             j++;
26         }
27         //如果i是质数,count计数器加1 
28         if(flag==0)
29         {
30             count++;
31             printf("%d,",i);
32         }
33         i++;//准备判断下一个数 
34     }
35     //printf("%d\n",i-1);
36     return 0;
37 }
View Code
复制代码

然后复制文件当中的数据到代码里面构造数组嘿嘿嘿

复制代码
 1 #include <stdio.h>
 2 int main(int argc, char *argv[])
 3 {
 4     long a[10003]=
 5     {   //为了网页打开速度快一点,不写完数据了呵呵
 6         2,3,5,7,11,13,17,19,23,29,31,……   
 7     };
 8     int n;
 9     scanf("%d",&n);
10     printf("%d\n",a[n-1]);
11     return 0;
12 }
复制代码

嗯,投机取巧了呵呵

 

posted on   华山青竹  阅读(6102)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示