C语言程序:找出符合如下条件的两位数:他的各个质因数的平方之和等于他自己。速度,十分钟以内
用自定义函数
C语言程序:找出符合如下条件的两位数:他的各个质因数的平方之和等于他自己。
答案:2 悬赏:20
解决时间 2021-11-30 01:56
- 提问者网友:失败的占卜者
- 2021-11-29 01:17
最佳答案
- 二级知识专家网友:一只傻青衣
- 2021-11-29 02:49
#include
int ZS(int n);
int main(void)
{
int i;
for(i=10;i<100;++i)
{
if(ZS(i))
{
printf("%d\n",i);
}
}
return 0;
}
int ZS(int n)
{
int i,sum = 0,j;
for(i=2;i<=n;++i)
{
if(n%i==0)
{
for(j=2;j*j<=i;++j)
{
if(i%j==0)
{
break;
}
}
if(j*j>i)
{
sum+=i;
}
}
}
if(sum==n)
{
return 1;
}
return 0;
}
int ZS(int n);
int main(void)
{
int i;
for(i=10;i<100;++i)
{
if(ZS(i))
{
printf("%d\n",i);
}
}
return 0;
}
int ZS(int n)
{
int i,sum = 0,j;
for(i=2;i<=n;++i)
{
if(n%i==0)
{
for(j=2;j*j<=i;++j)
{
if(i%j==0)
{
break;
}
}
if(j*j>i)
{
sum+=i;
}
}
}
if(sum==n)
{
return 1;
}
return 0;
}
全部回答
- 1楼网友:我们只是兮以城空
- 2021-11-29 04:28
#include
int isprime(int a)
{
int temp = a;
for(int i = a/2;i>=2;i--)
{
if(!(temp%i))
return 0;
}
return 1;
}
int main()
{
int a,i=0,flag = 1,t=2;;
printf("请输入你要分解的数: ");
scanf("%d",&a);
printf("%d=",a);
while(a!=1)
{
while(isprime(t))
{
if(a%t==0)
{
printf("%d",t);
a /= t;
if(a!=1)
printf("*");
}
else
t++;
}
t++;
}
getchar();
return 0;
}
自己去看,没有写注释,其实简单
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯