zoukankan      html  css  js  c++  java
  • 04-1. 水仙花数(20)

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

    输入格式:

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

    输出格式:

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

    输入样例:

    3
    

    输出样例:

    153
    370
    371
    407



     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5     int n;
     6     scanf("%d", &n);
     7     
     8     int i, low = 1, high;           //low表示n位数的最小数,high表示n位数的最大数 
     9     for(i = 1; i < n; i++) {
    10         low *= 10;
    11     } 
    12     high = low * 10; 
    13     for(i = low; i < high; i++ ) {        //从最小数到最大数逐一遍历  
    14         int t = i;
    15         int sum = 0;
    16         do {
    17             int r = t % 10;          //r为数的末尾数字  
    18             t /= 10;
    19             int j, b = r;
    20             for(j = 1; j < n; j++) {    //让r自乘最后得到r的n次方 
    21                 r *= b;
    22             }
    23             sum += r; 
    24         } while(t > 0);
    25         if(sum == i) {               //让r的n次方和i比较 
    26             printf("%d
    ", i);
    27         }
    28     }
    29     
    30     return 0;
    31 }



  • 相关阅读:
    Python shutil模块
    Flask 上传文件
    Flask DBUtils
    flash-session
    Flash 上下文管理
    python 栈
    python 偏函数
    threding.local
    next() 与 nextLine() 区别
    Thread.sleep(1000*3); // 休眠3秒
  • 原文地址:https://www.cnblogs.com/aexin/p/3871613.html
Copyright © 2011-2022 走看看