LQ0096 质数试除法
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0096 质数试除法相关的知识,希望对你有一定的参考价值。
题目来源:蓝桥杯2019初赛
问题描述
我们知道第一个质数是2、第二个质数是 3、第三个质数是 5……请你计算第 2019个质数是多少?
问题分析
可以用试除法和筛选法来解题。
试除法可以只考虑奇数,这样会快许多。
筛选法需要数组存储。
AC的C语言程序(试除法)如下:
/* LQ0096 质数 */
#include <stdio.h>
#define N 2019
int judge(int n)
for (int i = 3; i * i <= n; i += 2)
if (n % i == 0) return 0;
return 1;
int main()
int i, cnt = 1; /* 2是一个质数 */
for (i = 3; ; i += 2)
if (judge(i))
if (++cnt == N)
break;
printf("%d\\n", i);
return 0;
以上是关于LQ0096 质数试除法的主要内容,如果未能解决你的问题,请参考以下文章