鱼C论坛

 找回密码
 立即注册
查看: 24222|回复: 98

题目7:找出第10001个质数

[复制链接]
发表于 2015-7-19 21:52:05 | 显示全部楼层

你运行试试看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-19 21:54:41 | 显示全部楼层
无名侠 发表于 2015-7-11 23:33
104759 对吗? 破电脑,跑了几分钟。

我用C写的效率不高为了写代码快点但也是秒出答案了   104743
  1. #include<stdio.h>
  2. #include<math.h>
  3. int Prime (long int j) //定义Prime函数判断是否为质数
  4. {
  5.         int i,k = 0;
  6.         for(i = 2;i<=sqrt(j);++i)
  7.         {
  8.                 if(j%i==0)
  9.                 {
  10.                         k++;
  11.                         break;
  12.                 }
  13.         }
  14.         if(k!=0)
  15.         {
  16.                 return 0;
  17.         }
  18.         else
  19.         {
  20.                 return 1;
  21.         }
  22. }
  23. void main()
  24. {
  25.         int i = 1;
  26.         long int j = 2;
  27.         while(i!=10001) /*从二开始遍历发现是质数i自增1直到i=10001 也就找到了第10001个质数*/
  28.         {
  29.                 ++j;
  30.                 if(Prime(j)==1)
  31.                 {
  32.                         i++;
  33.                 }
  34.         }
  35.         printf("%ld\n",j);
  36. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-1 05:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表