zoukankan      html  css  js  c++  java
  • 2017华为机试题水仙花数

    等了一个月终于等到华为给安排的实习生在线机试,把自己做的三道题记录了一下,也方便日后复习。这篇是第一题,经典的水仙花数题,一定要审清题目,不要一遇到机试题上来就写输入语句,这道题目就没有要求输入!水仙花数的思想也很经典,在其他地方也会用到其中的细节,mark一下。

    题目描述:水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。(例如:1³+5³+3³=153),要求:输出1000范围内所有水仙花数及水仙花数之和。

    输入描述:无

    输出描述:1000以内所有水仙花数及总和。

    输出例子:

    第1个水仙花数:xxx

    第2个水仙花数:xxx

    第3个水仙花数:xxx

    ...

    水仙花数总和为:xxx

     1 public class ShuiXianHua {
     2     public static void main(String[] args) {
     3         int count=0,sum=0;
     4         for(int i=100;i<1000;i++)
     5         {
     6             if(judge(i))
     7             {
     8                 System.out.println("第"+(++count)+"个水仙花数:"+i);
     9                 sum=sum+i;
    10             }        
    11         }
    12         System.out.println("水仙花数总和为:"+sum);
    13     }
    14     public static boolean judge(int x)
    15     {
    16         int cpx=x; 
    17         int n=(""+x).length();          //将数字转化为字符串,方便计算数字的长度
    18         int s=0;
    19         while(x>0)                     //注意while和if不能混淆使用,if只计算1次,while不满足条件才跳出循环,否则一直运算
    20         {
    21             int m=x%10;               //取余:获取末位数
    22             s+=(int)Math.pow(m, n);  //Math.pow是double类型的,需要进行类型转换,转换成int类型
    23             x=x/10;                 //丢掉末位数,继续运算     
    24         }
    25         return cpx==s;
    26     }
    27 }
  • 相关阅读:
    make menuconfig出错需要安装文件
    编译内核,配置内核make menuconfig
    busbox编译出错,arm-linux-未找到命令
    screen命令
    Shell系列
    ExtJS清除表格缓存
    ExtJS发送POST请求 参数格式为JSON
    ExtJS实现分页grid paging
    ExtJS错误解决 Cannot read property 'on' of undefined
    解决com.mongodb.MongoException$CursorNotFound: cursor 0 not found on server
  • 原文地址:https://www.cnblogs.com/Jocelyn66/p/6683796.html
Copyright © 2011-2022 走看看