C++中如何读取一个数的位数_Java最经典面试题详解-判断一个数是不是水仙花数...

3a5bd531545488c125ef751fcac802eb.png

相信大家都知道水仙花这种植物,一种还算是比较好看的植物,但是你听说过一个叫做“水仙花数”的植物吗?/偷笑

今天一个朋友私信问我这个题呢,给他解决完问题之后想起了当年面试的时候被这道题给支配的恐惧,所以现在在这里给大家讲解一下这道题的解决思想与解决原理。

首先,了解题目。

所谓“水仙花数”是指这样一个数,其个位数字的立方和等于该数的本身。例如:3

71是一个“水仙花数”,371=3^3+7^3+1^3。

题目要求:输入一个三位数,输出1或0,1代表此数为水仙花数,0代表此数不是水仙花数。

12f72a6e08b750d589fb281b4baafcfc.png

接下来,整理解题思路。

要验证这个数是不是“水仙花数”,首先我们要将这个三位数拆分开。这个数百位的数字,十位的数字,个位的数字。然后将得到的每个数进行立方和的相加,并且与原数字进行对比,如果值为true,输出1;如果值为flase,输出0。

思路整理完毕,我们接下来整理代码。

1、要求程序可以接收到键盘输入的三位数字。引入Scanner类,使程序可以接受键盘输入的数字。代码如下所示

Scanner sc = new Scanner(System.in);

2、从输入的三位数中挨个取数。

取百位数:int a = num / 100;

取十位数:int b = (num / 10) % 10;

取个位数:int c = num % 10;

3、将每位数字的立方进行求和,然后与原数字进行对比。

if (a * a * a + b * b * b + c * c * c == num) { System.out.println("1");} else { System.out.println("0");}

然后,将思路代码进行拼接,并运行测试。

2bc394dc9485af21ebe93012f67f8273.png

这只是一个非常简单的Java面试题了,在不同的阶段,Java的面试题也不尽相同,比这道题难得也是数不胜数了,接下来的日子里,将会持续的跟大家分享不同的面试题。

请大家持续关注我,不定期更新。另外给大家准备了一份小白入门的Java小项目。通过下面的方式可以联系我,然后跟我要这个项目就可以了。

  • 关注我,并转发收藏本文章
  • 私信“学习”即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值