7-150 水仙花数

简介: 7-150 水仙花数

7-150 水仙花数 (20 分)


水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。


输入格式:


输入在一行中给出一个正整数N(3≤N≤7)。


输出格式:


按递增顺序输出所有N位水仙花数,每个数字占一行。


输入样例:


3


结尾无空行


输出样例:


153
370
371
407


结尾无空行


#include<iostream>
#include<cmath>
using namespace std;
int shui(int x,int n){
  int sum=0,c=x;
  while(x){
    int y=x%10,b=1;
    for(int i=0;i<n;i++)b*=y;
        sum+=b;
    x=x/10;
  }
  if(sum==c) return 1;
    else return 0;
}
int main(){
    int n,x,y;
    cin>>n;
    x=pow(10,n-1);
    y=pow(10,n);
    for(int i=x;i<y;i++)if(shui(i,n))cout<<i<<endl;
    return 0;
}


目录
相关文章
“水仙花”数
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数   本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
827 0
HDOJ 2010 水仙花数
Problem Description 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
1094 0
HDOJ 2010 水仙花数
HDOJ 2010 水仙花数
126 0
|
算法
求水仙花数
求水仙花数
93 0
|
9月前
|
C++
水仙花数.
这是一个关于求解水仙花数的C++代码片段。水仙花数是指3位数,其各位数字立方和等于该数本身,如153。代码通过循环遍历100到999,拆分每位数字并计算立方和,如果满足条件则输出该数。解题关键在于对三位数的个位、十位、百位进行拆分和立方运算。
92 0
求1000以内所有的水仙花数
求1000以内所有的水仙花数
找出水仙花数
找出水仙花数
94 0
|
5月前
水仙花数
水仙花数。
124 7

热门文章

最新文章