大家好,今天小编关注到一个比较有意思的话题,就是关于c语言筛选素数的问题,于是小编就整理了3个相关介绍c语言筛选素数的解答,让我们一起看看吧。
C语言中筛选法是怎么考虑的,就是分几个步骤考虑筛选出素数?
1、先解释一下筛选法的步骤:
<1>先将1挖掉(因为1不是素数)。<2>用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。
<3>用3去除它后面的各数,把3的倍数挖掉。<4>分别用5…各数作为除数去除这些数以后的各数。
上述操作需要一个很大的容器去装载所有数的集合,只要满足上述条件,即2的N的全部置0,3的N次方的全部置0,4的N次方的全部置0.。。。
一直到这个数据***的末尾,这样一来不为0的数就是素数了,然后按下标在里面进行查找就好了2、例程:#include "stdafx.h"#include <iostream>using namespace std;#define N 1001void main(void){ int a[N],i,j,k; for(i=1;i<N;a[i++]=1)
; for(i=2;i<N;i++) if(a[i]
) for(j=i+i;j<N;a[j]=0,j+=i); for(k=0,i=2;i<N;i++) if(a[i]
) printf(++k%15 ? "%-4d" : "%-4d\n",i); printf("\n");}
C语言,求出100到200以内最大的素数,最小的素数,以及所有素数的和,用while语句实现?
main(){ int i,j,n=0; for(i=101;ii/2) { printf("%d ",i); if(++n>12)printf("\n"); } }}
python找出999以内所有素数?
素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
目的:输出999以内素数,同时输出素数的序数。
程序说明:编写一个函数is_prime(n),用于判断n是否为素数,使用该函数对1-999的整数进行素性判定并且输出结果。这个程序计算时间上不是最好的,但是逻辑。函数is_prime(n)***用试除法判定一个数是否为素数。
999以内共有168个素数。
from math import sqrt
def is_prime(n):
if n == 1:
return False
for i in range(2, int(sqrt(n))+1):
到此,以上就是小编对于c语言筛选素数的问题就介绍到这了,希望介绍关于c语言筛选素数的3点解答对大家有用。