42.编写程序打印所有的“水仙花数”。“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为 153=1×1×1+3×3×3+5×5×5。

//1、for循环+if判断
//2、可设计成函数

#include<iostream>
using namespace std;
int ShuiXian(int);

int main()
{
    for(int i=100;i<=999;i++)
    {
        if(ShuiXian(i))
        {
            cout<<i<<endl;
        }
    }
    return 0;
}

int ShuiXian(int index)
{
    int temp;
    int sum=0;
    int temp1;
    temp1=index;//注意,因为后面的index会改变,所以需要事先设置一个temp1来保护输入值
    for(int p=1;p<=3;p++)
    {
        temp=index%10;
        sum+=(temp*temp*temp);
        index=index/10;
    }
    if(sum==temp1)
    {
        return 1;
    }else
    {
        return 0;
    }
}

 

posted on 2014-08-08 11:19  Ji_xiaowu  阅读(586)  评论(0编辑  收藏  举报

导航