关于递归的求水仙花数,网上搜索到的资料,储存起来,以便多次复习——初学者

来源:互联网 发布:易语言qq好友验证源码 编辑:程序博客网 时间:2024/04/28 07:03

——————————————————————————————————————————————————

#include<stdio.h>
#include<stdlib.h>

int maindigui(int i)
{
if (i<1000)                                                                               //控制退出条件
{
int a, b, c;
a = i / 100 % 10;
b = i / 10 % 10;
c = i % 10;                                                                       
if (i == a*a*a + b*b*b + c*c*c)                                     //判断打印条件
{
printf("%d=%d^3+%d^3+%d^3\n", i, a, b, c);    //打印i的值以及a.b.c的值
}
maindigui(i + 1);                                                             //传入i+1的给maindigui的i

}
else
{
return;
}
}
int main()
{
maindigui(100);                                                               //调用maindigui模块并传入i的初始值100;
system("pause");
}

————————————————————————————————————————————————————————

int sum(int x)                                                         
{
int t = x % 10;
if (x<10)
return t*t*t;
else
return sum(x / 10) + t*t*t;
}
int main()
{
int i;
for (i = 100; i < 1000; i++)
{
if (sum(i) == i)
printf("%d\n", sum(i));

}

system("pause");
}