成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

c语言输出1到100的素数

Q1:用C语言编写编写输出1到100之间的素数

#include
#include"math.h"
int ss(int n)
{
int k;
for(k=2;k<=sqrt(n);k++)
{if(n%k==0) return 0;}
}
main()
{
int x,m=0;
for(x=0;x<=100;x++)
if(ss(x))
{printf("%5d",x);m++;if(m%5==0)printf("\n");}
}W;Ww.BaZHisHi.cOm

Q2:C语言求1到100的素数

除了2,所有素数都是奇数,所以只考查>2的奇数;奇数肯定不能被偶数尽除,所以除数也只用奇数,且用j*j<=i这种形式控制循环,避免开方计算。
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
inti,j,k;
printf("PrimeNumbersbetween1to100areasfollows:\n2");
for(i=3;i<100;i+=2){//除了2只考查奇数,避免穷举
for(j=3;(k=j*j)<=i;j+=2)//只用奇数去除,且j*j<=i限制循环以提高时效
if(i%j==0)break;
if(k>i)
printf("%d",i);
}
printf("\n");
return0;
}

Q3:用C语言编1到100之间的素数程序

程序及解释如下:

首先判断素数的算法:用一个数分别去除以2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

则有如下程序

{ int m,k,i;

for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2.

{ k=sqrt(m) //先求这个数的平方跟

for(i=2;i<=k;i++) //然后用i(从2到k,即m的平方跟)去除m,

if(m%i==0) break; //如果能被整除, 则不是素数,break

if(i>=k+1) pritnf("%d",m); //如果i>k+1,则说明没有数能整除m.则m是素数

}
}

扩展资料:

素数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。

在汽车变速箱齿轮的设计上,相邻的两个大小齿轮齿数设计成质数,以增加两齿轮内两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。

在害虫的生物生长周期与杀虫剂使用之间的关系上,杀虫剂的质数次数的使用也得到了证明。实验表明,质数次数地使用杀虫剂是最合理的:都是使用在害虫繁殖的高潮期,而且害虫很难产生抗药性。

以质数形式无规律变化的导弹和鱼雷可以使敌人不易拦截。

多数生物的生命周期也是质数(单位为年),这样可以最大程度地减少碰见天敌的机会。

Q4:c语言求100以内的素数

#include "stdio.h"
void main()
{
for(int i=2;i<=100;i++)/*确定范围:2——100*/
{
for(int k=2;k{
if(i%k==0)break;/*如果找到一个不是1或者它本身的因子,则停止该循环,此时k}
if(k==i)printf("%d\n",i);/*当k=i时表明i不存在除1和本身以外因子,因而它是素数,打出来*/
}
}

WwW.BaZhishI.∴cOm

Q5:C语言,输出1到100之间的素数?检查一下?

#include
#include
int main()
{
int p=2,i=2,k; // 2也是素数
while(p<=100)
{
k=(int)sqrt(p);
while(i<=k)
{
if(p%i==0) break;
i++;
}
if(i>k) printf("%d\n",p);
p++;
i = 2; // i值要还原
}
}

Q6:c语言程序中怎样输出1到100的素数

定义一个求判断素数的函数,调用此函数对1~100中2和大于2的奇数进行判断,是素数的输出,举例代码如下:

#include"stdio.h"
intprime(intn){//判断n是否为素数
inti;
if(n>2&&!(n&1)n<2)
return0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return0;
return1;
}
intmain(intargc,char*argv[]){
intn;
for(n=2;n<100;n+=n!=2?2:1)
if(prime(n))
printf("%3d",n);
printf("\n");
return0;
}

Q7:求1到100之间的素数的和 c语言

#include
intisprime(intn)
{for(inti=2;i*i<=n;i++)
if(n%i==0)return0;
returnn>1;
}
intmain()
{inti,s=0;
for(i=1;i<101;i++)
if(isprime(i))s+=i;
printf("%d\n",s);
return0;
}

猜你喜欢

更多