黑马程序员技术交流社区

标题: 求100-999之间的水仙花数 [打印本页]

作者: yongwei    时间: 2015-7-20 21:58
标题: 求100-999之间的水仙花数
求100-999之间的水仙花数
作者: MD103    时间: 2015-7-20 22:09
#include <stdio.h>

int main(int argc, const char * argv[]) {
    // 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位
    // 上的数字的 n 次幂之和等于它本身。
    // (例如:1^3 + 5^3+ 3^3 = 153)什么是水仙
    // 花数水仙花数只是自幂数的一种,严格来说三位数
    // 的3次幂数才成为水仙花数。
   
   
   
    // 求 100 到 999 中所有的偶数
    /*
    for (int i = 100; i < 1000; i++) {
        if (i % 2 == 0) {
            printf("%d\n", i);
        }
    }
    */
    // 求水仙花数
    for (int i = 100; i < 1000; i++) {
        // 求各个位置上的数字
        int bai = i / 100;
        int shi = i % 100 / 10;
        int ge = i % 10;
        
        
        if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge) {
            printf("%d\n", i);
        }
    }
   
    return 0;
}

作者: Mal    时间: 2015-7-20 22:09
#include <stdio.h>

int main(int argc, const char * argv[]) {
    int i,j,k,num=0;
    for (i=1; i<=9; i++) {
        for (j=1; j<=9; j++) {
            for (k=1; k<=9; k++) {
               
                if ( i*i*i+j*j*j+k*k*k== i*100+j*10+k*1){
                    num=i*i*i+j*j*j+k*k*k;
                }
            }
        }
    }
  
    printf("%d\t\n",num);
   
    return 0;
}

作者: Mal    时间: 2015-7-20 22:10
刚做的,你参考下
作者: 手残程序员    时间: 2015-7-20 22:19
看过之后很有帮助
作者: 哒哒萌    时间: 2015-7-20 22:22
昨天参考着答案做的,今天又练习了一遍
作者: 轮回长门winner    时间: 2015-7-20 23:00
都是大神
作者: noway190    时间: 2015-7-24 22:59
N B啊            
作者: Northcity    时间: 2015-7-24 23:08
大神     还厉害




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2