龙空技术网

Python解答C语言经典问题:判断一个区间内素数的个数

GIS开发 321

前言:

而今同学们对“素数算法c语言”大体比较讲究,你们都需要剖析一些“素数算法c语言”的相关内容。那么小编也在网上收集了一些关于“素数算法c语言””的相关资讯,希望咱们能喜欢,各位老铁们一起来学习一下吧!

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

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

思考:

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

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

#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实现:我们假设这个区间为888-999。

import mathh = 0leap = 1for 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 = 1print('%d' % h)

标签: #素数算法c语言