c语言中如何求素数

Python012

c语言中如何求素数,第1张

思路:所谓素数是指只能被1和自身整除的数叫作素数,判断素数就可以从2到该数减一依次判断能否整除该数,如果能则不是素数,否则就是素数。

参考代码:

#include<stdio.h>

int isp(int n)//判断是否是素数,是返回1,否则返回0

{

int i

for(i=2i<ni++)

if(n%i==0) return 0

return 1

}

int main()

{

int a

scanf("%d",&a)

if(isp(a))

printf("%d是素数\n",a)

else

printf("%d不是素数\n",a)

return 0

}

/*

输出: 

89

89是素数

*/

有三种方法:

1、输出1-100以内的素数:

2、同样,也是输出1-100以内的素数,这个构造一个数组,将其所有元素初始化为1,表示素数,这时取x从2开始,到100以内做循环。

若x为素数,即prime[x]!=0,使得每个i*x位置元素置0(prime[i*x]=0),表示为非素数,循环结束前x+1。

3、该方法是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数>100)。

扩展资料:

在这个小程序中主要用到的是for循环

for 循环语句的一般形式为:

for (表达式1表达式2表达式3)

{

语句

}

需要注意的两点:

1) 表达式1、表达式2和表达式3之间是用分号隔开的,千万不要写成逗号。

2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。

因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。

//你的逻辑错误太多,给你个新的得了

#include<stdio.h>

int main()

{

int a,b,i,j

printf("欢迎使用素数输出运算,请输入运算区间a~b。\n")

scanf("%d,%d",&a,&b)

for(i=ai<=bi++)

{

if(i>1)

{

for(j=2j<ij++)

{

if(0==i%j)

{

break

}

}

if(j>=i)

{

printf("%d ",i)

}

}

}

return 0

}