zoukankan      html  css  js  c++  java
  • 11-语言入门-11-水仙花数

     
     
    描述
    请判断一个数是不是水仙花数。
    其中水仙花数定义各个位数立方和等于它本身的三位数。

    输入
    有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
    输入0表示程序输入结束。

    输出
    如果n是水仙花数就输出Yes
    否则输出No

    样例输入
    153
    154
    0
    样例输出
    Yes
    No
     
     
    代码:
     
    #include <stdio.h>

    int main()
    {
         int a = 0;
         int b = 0;
         int c = 0;
        
         do
         {
              int readNum = 0;
              scanf("%d",&readNum);
              getchar();
             
              if(readNum < 100 || readNum >= 1000)
              {
                   break;
              }
             
              int tmp = readNum;
              a = tmp/100;
              tmp = tmp%100;
              b = tmp/10;
              c = tmp%10;
             
              if( a*a*a + b*b*b + c*c*c == readNum)
              {
                   printf("Yes ");
              }
              else
              {
                   printf("No ");
              }
         }while(1);

        
         return 0;
    }
     
    推荐的优秀代码:

    #include<iostream>
    using namespace std;
    int main()
    {
         int a;
         while(1)
         {
              cin>>a;
              if(a==0) break;
              cout<<((a==153||a==370||a==371||a==407)?"Yes":"No")<<endl;
         }
    }       
     
    虽然。。。但是。。。
    偷懒的思想还是需要的,毕竟程序员应该追求的是简约,而不是高深,但是作为入门的练手题,考虑如何分解一个整数的各个位数,还是需要掌握的。 
     
  • 相关阅读:
    Java面向对象编程 -1.3
    Java面向对象编程 -1.2
    Java面向对象编程 -1
    Java基础 -5.3
    Java基础 -5.2
    oracle 新建用户
    js密码的匹配正则
    oracle导入和导出和授权
    oracle存储过程语法
    java.lang.NumberFormatException: For input string: "26.0"
  • 原文地址:https://www.cnblogs.com/sharpfeng/p/5141698.html
Copyright © 2011-2022 走看看