Xcode写C++(程序练习2)

输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方合等于该数本身。例如,153是水仙花数,因为153=1的三次方+5的三次方+3的三次方。

以153为例。利用取余的思想我们先将153/10取余得到3,再将3做三次方;将153/10得到15再将15/10取余得到5,再将5做三次方;将15/10得到1,将1做三次方。将三位数的三次方相加,顺序即为3的三次方+5的三次方+1的三次方=153本身,判断后即为水仙花数,返回、输出、打印。
我们可以利用布尔类型直接判断真假,即真值返回。

#include <iostream>
//水仙花数
bool IsFlower(int n)//true是 false否
{
    int a;//保存个位数字
    int sum =0;
    int tmp =n;//定义临时变量保存n的值
    while(n!=0)
    {
        a=n%10;//得到个位数字
        sum+=a*a*a;//a的三次方
        n/= 10;//丢掉个位数字
    }
    return sum ==tmp;
}
int main()
{
    for(int i =100;i<=1000;i++)//三位数
    {
        if(IsFlower(i))
        {
            printf("%d\n",i);
        }
    }
}

输出结果:
即“水仙花数”有153、370、371、407
输出结果

源代码:
#include
//水仙花数
bool IsFlower(int n)//true是 false否
{
int a;//保存个位数字
int sum =0;
int tmp =n;//定义临时变量保存n的值
while(n!=0)
{
a=n%10;//得到个位数字
sum+=aaa;//a的三次方
n/= 10;//丢掉个位数字
}
return sum ==tmp;
}
int main()
{
for(int i =100;i<=1000;i++)//三位数
{
if(IsFlower(i))
{
printf("%d\n",i);
}
}
}

原创文章 6 获赞 13 访问量 167

猜你喜欢

转载自blog.csdn.net/Mugler_/article/details/106160694