黑马程序员技术交流社区

标题: 打印"水仙花数" [打印本页]

作者: 爱楚楚    时间: 2015-7-18 23:40
标题: 打印"水仙花数"
  1. #include <stdio.h>
  2. int main(){
  3.     int s=0;
  4.     int count=0;
  5.    
  6.     for (int a=1;a>0 && a<10 ; a++) {
  7.         for(int b=0;b>=0 && b<10;b++)
  8.             for (int c=0; c>=0 && c<10; c++) {
  9.                 s=a*100+b*10+c;
  10.                if (a*a*a+b*b*b+c*c*c==s)
  11.                {printf("%d  ",s);
  12.                    count++;
  13.                                  }
  14.                
  15.                              }
  16.         
  17.     }
  18.     printf("\n");
  19.     printf("共有%d个“水仙花数”",count);
  20.    
  21.     return 0;
  22.     }
复制代码

作者: hanjiaqi    时间: 2015-7-18 23:52
这个还没做  思路附上更好啦
作者: 382780396    时间: 2015-7-18 23:56
有注释就更好了
作者: 糖糖本尊    时间: 2015-7-19 00:07
来个注释啊    三重循环好晕啊
作者: lychae    时间: 2015-7-19 08:50
和我想的一样/*
     编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个 各个位立方之和等于该整数的三位数。
     */
    int i = 0;
    //百位
    for (int a = 1; a <= 9; a++) {
        
        //十位
        for(int b = 0;b <= 9;b++){
            //个位
            for (int c = 0; c <= 9; c++) {
                //判断各个位立方和等于该数a^3+b^3+c^3=a*100+b*10+c
                if (a*a*a+b*b*b+c*c*c==a*100+b*10+c) {
                    i++;
                    printf("%d%d%d\n",a,b,c);
                }
//                else{
//                    continue;
//                }
            }
            
        }
    }
    printf("%d",i);
}





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