搜索
写经验 领红包
 > 教育

计算质数的程序(质数相乘怎么算)

导语:你会使用算法计算质数乘积吗?速来使用Python挑战

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

爱学习的Torry

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

知识回顾

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

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

100以内的质数表

程序编写

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

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

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

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

判断是否为质数的函数

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

输入和有效性校验

3) 定义变量:

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

定义变量

4) 具体逻辑代码:

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

循环判断

5) 完整的编程代码:

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

完整代码

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

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

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

创意编程之旅

本文内容由快快网络小馨创作整理编辑!