python判断两个数内素数的个数(Python解答C语言经典问题)

今天的问题是:判断101-200之间有多少个素数,并输出所有素数。

这也是C语言的经典问题,我们首先要知道,什么样的数是素数?在数学上的定义:大于1,除了1和它本身不能被其他数整除的数就是素数。那我们从编程角度出发,该怎么解决这个问题呢?

python判断两个数内素数的个数(Python解答C语言经典问题)(1)

思考:

我们这么想:加入有一个数,我们让它除以2,看它是否除的尽,然后与3相除,看是否除的尽,一直这样,到与这个数的前一个数相除,如果都不能除的尽,是不是说明这个数就是一个素数。我们题目讲,在一个区间内,这个简单,我们只要把外层循环开始值换成区间开始值,把外层循环结束值换成区间结束值就行了。

我们首先用C语言实现:我们假设这个区间为888-999

python判断两个数内素数的个数(Python解答C语言经典问题)(2)

#include<stdio.h> int main(){ int i,j; for(i=888;i<=999;i ){ for(j=2;j<i;j ){ if(i%j==0){ break; } else{ if(j==i-1){ printf("%d\n",i); } } } }

python判断两个数内素数的个数(Python解答C语言经典问题)(3)

我们首先用Python实现:我们假设这个区间为888-999

python判断两个数内素数的个数(Python解答C语言经典问题)(4)

import math h = 0 leap = 1 for m in range(888, 999): k = int(math.sqrt(m 1)) for i in range(2, k 1): if m % i == 0: leap = 0 break if leap == 1: print('%-4d' % m) h = 1 if h % 10 == 0: print('') leap = 1 print('%d' % h)

python判断两个数内素数的个数(Python解答C语言经典问题)(5)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页