判断素数类问题ACing
1,判断正整数m是否为素数
int i,m;
printf("Enter a number:");
scanf("%d",&m);
for(i=2;i<=m/2;i++)
if(m%i == 0)
break; //若m能被某个i整除,则m不是素数,提前结束循环
if(i > m/2&&m != 1) //若循环正常结束,说明m不能被任何一个i整除
printf("%d is a prime number!\n",m);
else
printf("No!\n");
return 0;
2,使用嵌套循环求100以内的全部素数
int count,i,m,n;
count = 0; //记录素数的个数,用于控制输出格式
for(m=2;m<=100;m++){
n = sqrt(m);
for(i=2;i<=n;i++)
if(m%i == 0)
break;
if(i>n){ //如果m是素数
printf("%6d",m); //输出m
count++; //累加已经输出的素数个数
if(count%10 == 0) //如果count是10的倍数,换行
printf("\n");
}
}
printf("\n");
return 0;
3,使用函数求100以内的全部素数
#include<stdio.h>
#include<math.h>
int main(void)
{
int count,m;
int prime(int m); //函数声明
count = 0; //记录素数的个数,用于控制输出格式
for(m=2;m<=100;m++){
if(prime(m) != 0){ //调用prime(m)判断m是否为素数
printf("%6d",m); //输出m
count++; //累加已经输出的素数个数
if(count%10 == 0) //如果count是10的倍数,换行
printf("\n");
}
}
printf("\n");
}
/* 定义判断素数的函数,如果m是素数则返回1,否则返回0 */
int prime(int m)
{
int i,n;
if(m == 1) return 0; //1不是素数,返回0
n = sqrt(m);
for(i=2;i<=n;i++){
if(m%i == 0){ //如果m不是素数
return 0; //返回0
}
return 1;
}
}
相关推荐
penkgao 2020-08-17
CloudXli 2020-06-11
baike 2020-01-04
hiKirin 2013-03-09
BITSKY 2019-03-29
liangds 2018-11-30
浪漫老猫 2018-11-27
一亩半分地 2018-11-24
lundongcai 2018-11-22
zzpdljd 2018-11-20
assastor 2018-05-02
HTML学堂码匠 2018-03-19
lkrocksthone 2017-12-26
cairencong 2018-01-23
chenzulong 2017-10-30
sharkandshark 2017-04-14
pythoncream 2016-05-05
丁一鸣的CSDN 2014-06-12