今天给各位分享c语言打印素数的知识,其中也会对C语言打印20以内的素数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、C语言输出素数2、c语言打印素数3、c语言程序中怎样输出1到100的素数4、C语言 输出1到100之间的全部素数?
C语言输出素数
//你的逻辑错误太多,给你个新的得了
#includestdio.h
int main()
{
int a,b,i,j;
printf(“欢迎使用素数输出运算,请输入运算区间a~b。\n”);
scanf(“%d,%d”,a,b);
for(i=a;i=b;i++)
{
if(i1)
{
for(j=2;ji;j++)
{
if(0==i%j)
{
break;
}
}
if(j=i)
{
printf(“%d “,i);
}
}
}
return 0;
}
c语言打印素数
你悬赏都没有,很难做啊.
以后多向我提问吧.希望有悬赏.
#include
“stdio.h”
#include
math.h
#define
N
2033
int
Prime()
{
int
a[N];
int
i,
j;
//将到N-1间的数放在筛子中
i
=
2;
while(iN)
{
a[i]=1;
i++;
}
i
=
2;
int
limit;
limit
=
(int)sqrt((double)(N-1));//计算除数的上限limit
while(ilimit)
{
//用i筛去筛子中i的倍数的数,不包括i本身
j
=
2*i;
while(jN)
{
a[j]
=
0;
j
+=
i;
}
//找到筛子下一个数j
j
=
i+1;
while(a[j]==0j=limit)
j++;
i
=
j;
}
//将筛子中的数打印出来
i
=
2;
int
times=0;
while(iN)
{
if(a[i])
{
printf(“%5d”,
i);
times++;
if((times)%10==0)
printf(“\n”);
}
i++;
}
printf(“\n”);
return
0;
}
这个方法很不错
c语言程序中怎样输出1到100的素数
主要考察素数的概念和判断方法。
素数:指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
素数判断:将该数N用小于等于根号N的所有素数去试除,若均无法整除,N则为素数。
参考代码:
#includestdio.h
#includemath.h
int main()
{
int a,b,c;
printf(“2\n”);//2是素数,不能利用上面的规则求出需要另外输出。
for(a=2;a=100;a++)
{
c = (int)sqrt(a);//计算平方数,取整
for(b=2;b=c;b++)//依次判断
if(a%b==0) break;
if(bc) printf(“%d\n”,a);//输出素数
}
return 0;
}
C语言 输出1到100之间的全部素数?
有三种方法:
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 循环了。
关于c语言打印素数和C语言打印20以内的素数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。