用js代码判断质数_Torry的困惑,Python算法实践之质数运算

Torry从小喜爱数学,有一天,老师告诉它,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?于是乎,他把这个问题告诉给了老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你计算出前n个质数的乘积。不过,考虑到你刚学习编程不久,Torry只要求你算出这个数模上50000的值。(为了降低难度,我们规定n<=100000)。

a32125f7bb72e00c6a9934557d28e36d.png

爱学习的Torry

啊哈,这可是Torry第一次有求于你,我想你一定不想让他失望,并且此时你的大脑已经飞速运转起来了。那么给你5分钟的思考时间,如果你已经有了思路,那就快快使用Python代码来验证吧。如果还没有思路,不要着急,跟我继续往下看。

知识回顾

在我们正式开始探索之前,需要先一起回忆下质数的概念,避免有些同学不太清楚或者已经忘记了。

质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,例如2、3、5、7、11……

49b44a731cd7eddc4d709bc42285d0dc.png

100以内的质数表

程序编写

对于这个问题,我们一起来分析,首先我们需要找出前n个质数都有哪些,然后再来计算他们的乘积模上50000的值。

那么如何使用代码来实现呢?接下来我们以Python编程为例,来解决Torry的困惑。记住,算法是跨语言的,任何编程语言都支持逻辑判断和循环等,如果你想使用别的编程语言来实现当然也是可以的。

1) 编写判断质数的函数:

我们定义了如下函数,这个函数需要传入一个参数n,并判断n是否为质数,如果是,则返回True,否则返回False。

cbd3efeb720f23558b94fb00db943bd1.png

判断是否为质数的函数

2) 用户输入n,并进行有效性校验:

611689b45ba507c145d0d47f4590e4c0.png

输入和有效性校验

3) 定义变量:

定义一个用于记录质数个数的变量count、质数乘积的变量product,并从第一个质数 j=2 开始运算。

06463a2dee5b32aa8b154d479f2a5060.png

定义变量

4) 具体逻辑代码:

我们使用while循环来逐次调用前文定义的isZhishu函数进行判断,并累计乘积。

36842039bc6b381bb084072cd3042c4f.png

循环判断

5) 完整的编程代码:

下面列出完整的编程代码,便于你一气呵成的阅读和思考。

499c8a3f5f18cad8636853d855f9462c.png

完整代码

让我们一起来试试程序的运行效果吧,例如我们输入100:

> 请输入n:100前100个质数的乘积是:31090

简单吗?相信你一定会觉得很简单,但又很实用。学习算法,一定要善于思考生活中还有哪些应用场景,并把所学的算法和编程知识用于解决生活中遇到的实际问题,相信你的编程和算法水平一定会稳步提升,加油!

92092a43b8dbf64a92e4aa713dc114a8.png

创意编程之旅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值