变种水仙花

变种水仙花

https://ac.nowcoder.com/acm/contest/5962/C

链接:https://ac.nowcoder.com/acm/contest/5962/C
来源:牛客网

题目描述

变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。

例如:

655 = 6 * 55 + 65 * 5

1461 = 1461 + 1461 + 146*1

求出 5位数中的所有 Lily Number。
输入描述:

输出描述:

一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。

#include<bits/stdc++.h>
using namespace std;
int main(){//看到题目说的所有5位数 要想到 用循环遍历
int a,b,c,d,e;// 5位数  从万位 往下 依次
for(a=1;a<10;a++){//一位题目给说了5位数 万位不能为0
    for(b=0;b<10;b++){//剩余的四位  都可以为零 可以是 0到9中的任何一个数 所以要小于10
        for(c=0;c<10;c++){//这样for循环   可以遍历 所有的5位数
            for(d=0;d<10;d++){
                for(e=0;e<10;e++){
                    if((a*(b*1000+c*100+d*10+e)+(a*10+b)*(c*100+d*10+e)+(a*100+b*10+c)*(d*10+e)+(a*1000+b*100+c*10+d)*e)==a*10000+b*1000+c*100+d*10+e){
                        cout<<a*10000+b*1000+c*100+d*10+e<<" ";//因为是输出一行 还是在循环种  所以 不需要加endl  如果加了 则输出一个后 则无法输出
                    }
                }
            }
        }
    }
}
return 0;
}
全部评论

相关推荐

点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务