c语言 水仙花数是指一个 n 位数 (,它的每个位上的数字的 n 次幂之和等于它本身,请问我这个有什么问题?
输入两个数,求两个数之间的水仙花数#include<math.h>intfunction(intn,intm){intcompare(intn,intm);inti=0,...
输入两个数,求两个数之间的水仙花数
#include<math.h>
int function(int n,int m)
{ int compare(int n,int m);
int i=0,z=0,x,real,act,num,a=0;
compare(n,m);
if(n==0) return 0;
else
{ for(x=n;x<=m;x++)
{ real=x;
for(i=1;x>=10;)
{ x/=10;}
x=real;
for(num=0;x>=10;)
{ a=x%10; num+=pow(a,i) ;x/=10;}
num+=pow(x,i);
if(num==real) {z+=1;}
}
return z;
}
}
int compare(int n,int m)
{ int i;
if(n>m)
{ i=m;m=n;n=i;}
if(n<100)
{ n=100;}
if(m<=100) {n=0;m=0;}
// at this time,m>100&&n>100 ,n<m
} 展开
#include<math.h>
int function(int n,int m)
{ int compare(int n,int m);
int i=0,z=0,x,real,act,num,a=0;
compare(n,m);
if(n==0) return 0;
else
{ for(x=n;x<=m;x++)
{ real=x;
for(i=1;x>=10;)
{ x/=10;}
x=real;
for(num=0;x>=10;)
{ a=x%10; num+=pow(a,i) ;x/=10;}
num+=pow(x,i);
if(num==real) {z+=1;}
}
return z;
}
}
int compare(int n,int m)
{ int i;
if(n>m)
{ i=m;m=n;n=i;}
if(n<100)
{ n=100;}
if(m<=100) {n=0;m=0;}
// at this time,m>100&&n>100 ,n<m
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询