关于求素数的算法
首先要再提一下素数的概念:素数也可以称之为质数,即只能被1或者素数本身整除的数。
也就是说可以通过取余数来求素数,我后来写了很多代码,都得不到正确的结果,一直会无法把类似于9这样的数排除。
后来做了很多更改,得到了一个新的思路,可以让某个要判断是否是素数的数从2开始除,把被除数的数值范围控制在2~max(判断数)之间,如果余数为0,且被除数==除数(要判断的数)便将这个数视为素数,思路大概如下图:
代码实现
C语言代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,max;
scanf("%d",&max);
for(i=2;i<=max;i++)
{
for(j=2;j<=i;j++)
if(i%j==0)
break;
if(i==j)
printf("%d\n",i);
}
/*我给定一个范围,从2开始到max,每个数都进行判断,如果是素数就输出,如果不是就跳过*/
system("pause");
return 0;
}
python代码:
def fun():
max=int(input("enter:"))
for i in range(2,max+1): #此处要加1,如果不加1,会有报错(至少我是这样...)
for j in range(2,i+1): #同上
if i%j==0:
break
if i==j:
print("is:"+str(i))