求一C语言程序
答案:2 悬赏:30 手机版
解决时间 2021-01-12 23:27
- 提问者网友:咪咪
- 2021-01-12 08:46
求一C语言程序
最佳答案
- 五星知识达人网友:封刀令
- 2021-01-12 09:37
//因为要调用sqrt算平方根,所以要调用math.h头文件啊~~~sqrt()函数不是自己定义的,是math.h库文件里面定义的求平方根函数.你也可以不用tmp=sqrt(i)+1,让循环在i/2结束也可以,只是为了少几次循环而已.
#include"stdio.h"
#include"math.h"
int prime(int i) //求素数
{
int j, tmp = sqrt(i)+1; //寻找因子至i的平方根+1,减少寻找次数
if(i==2)
return 1; //2是素数返回1
for(j=2;j<=tmp;j++)
{
if (i%j==0)
{
return 0; //有除了1和本身之外的因之则不是素数,返回0
}
}
return 1;
}
void main()
{
int i, n;
printf("The super prime are:");
for(i=100;i<10000;i++) {
n=i;
while(n) {
if(prime(n))
n /= 10; //如果是素数则去掉末位再继续判断是否为素数
else
break;
}
if(!n) //去掉末位仍为素数则输出
printf("%5d",i);
}
}
#include"stdio.h"
#include"math.h"
int prime(int i) //求素数
{
int j, tmp = sqrt(i)+1; //寻找因子至i的平方根+1,减少寻找次数
if(i==2)
return 1; //2是素数返回1
for(j=2;j<=tmp;j++)
{
if (i%j==0)
{
return 0; //有除了1和本身之外的因之则不是素数,返回0
}
}
return 1;
}
void main()
{
int i, n;
printf("The super prime are:");
for(i=100;i<10000;i++) {
n=i;
while(n) {
if(prime(n))
n /= 10; //如果是素数则去掉末位再继续判断是否为素数
else
break;
}
if(!n) //去掉末位仍为素数则输出
printf("%5d",i);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯