A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 爱楚楚 中级黑马   /  2015-7-18 23:40  /  592 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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.     }
复制代码

4 个回复

倒序浏览
这个还没做  思路附上更好啦
回复 使用道具 举报
有注释就更好了
回复 使用道具 举报
来个注释啊    三重循环好晕啊
回复 使用道具 举报
和我想的一样/*
     编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个 各个位立方之和等于该整数的三位数。
     */
    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);
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马