鱼C论坛

 找回密码
 立即注册
查看: 2500|回复: 13

[每日一练] 算法36 ◉‿◉ 找出第10001个质数

[复制链接]
发表于 2017-6-9 07:02:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2017-6-9 07:13 编辑


                               
登录/注册后可看大图


按照提示,完成代码,秀秀你的编程能力!

不许看答案,否则打屁屁





程序分析:
前六个质数是 2, 3, 5, 7, 11 和 13,其中第 6 个是 13。

第 10001 个质数是多少?       


源代码:
游客,如果您要查看本帖隐藏内容请回复






如果喜欢,请订阅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-10 10:57:59 | 显示全部楼层
python版
  1. list1 = [2, 3]
  2. num  = 5
  3. while len(list1) < 10001:
  4.     for i in list1:
  5.         if num % i == 0:
  6.             break
  7.         if num < i * i:
  8.             list1.append(num)
  9.             break
  10.     num += 2
  11. print(list1[-1])
复制代码

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2017-6-10 11:38
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-14 16:40:35 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 05:34:49 | 显示全部楼层
瞧瞧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-22 03:01:44 | 显示全部楼层
  1. window.onload = function(){
  2.                        
  3.                                 function is_zs(num){
  4.                                         for(var i = 2; i <= Math.sqrt(num);i++){
  5.                                                 if(num % i == 0){
  6.                                                         return false;
  7.                                                 }
  8.                                                  
  9.                                         }
  10.                                        
  11.                                         return true;
  12.                                 }
  13.                                
  14.                                
  15.                                 var n = 0;
  16.                                 var num = 2;
  17.                                 while (n!=1001){
  18.                                         if(is_zs(num)){
  19.                                                 n++;
  20.                                                
  21.                                                 document.write(n+':'+num+'  ');
  22.                                         }
  23.                                         num++;
  24.                                 }
  25.                                
  26.                                 alert(num);
  27.                                
  28.                         };
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-24 19:45:47 | 显示全部楼层
emm
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-3 10:52:43 | 显示全部楼层
666666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-9 12:28:31 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-18 19:33:21 | 显示全部楼层
var num = 1;
var just = 1;
var i = 3;
while(true){
    for(var k=2;k<i;k++){
        if(i%k==0)just = 0;break;
    }
    if(just ==1){
        num=num+1;
        if(num==10001){
            alert(i);
        }
    }
    i+=2
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-28 14:31:00 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-23 20:20:52 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-13 15:13:43 | 显示全部楼层
  1. let list1 = [2, 3];
  2. var num = 5;
  3. while(list1.length < 10001){
  4.     for(var x=0;x < list1.length;x++){
  5.         i = list1[x];
  6.         if(num % i == 0){
  7.             break;
  8.         }
  9.         if(num < i * i){
  10.             list1[list1.length]=num;
  11.             break;
  12.         }
  13.     }
  14.     num += 2;
  15. }
  16. document.write(list1[list1.length - 1]);
复制代码

改一下@冬雪雪冬的答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-19 16:03:36 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 15:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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