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;
}