编写一个程序,读入两个正整数a和b,并且a<=b, 计算并输出闭区间[a,b]中的X数。X数为各个数位上数字的立方和等于其自身的数字,例如: 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 is a X-number. 12 is not equal to 1 * 1 * 1 + 2 * 2 * 2 // 12 is not a X-number. 如果没有找到X数,输出提示信息no
#include <stdio.h>
int fun(int k[10]){
int i;
int a,b,c;
int cnt =0;
for(i=100;i<=999;i++){
a = i / 100; //百位
b = i / 10 % 10; //十位
c = i % 10;//个位
if(a*a*a + b*b*b + c*c*c == i){
k[cnt++] = i;
}
}
return cnt;
}
void main(){
/*
求出所有的水仙花树
求出所有的水仙花树,水仙花数为3位数,每一位的三次方的和等于它自己
*/
int a[10]={0,0,0,0,0,0,0,0,0,0};
int cnt =0;
int i;
cnt = fun(a);
for(i=0;i<cnt;i++){
printf("%d\t",a[i]);
}
}
#include <stdio.h>
void main(){
int a,b,s=0,k,num=0;
scanf("%d%d",&a,&b);
for(int i=a;i<=b;i++)
{
s = 0;
t = i;
while(t>0)
{
k = t%10;
s += k*k*k;
t = t/10;
}
if(s == i)
{
printf("%d ",i);
num++;
}
}
if(num == 0)
printf("no");
return 0;
}