python输入一个四位整数、判断该数是否是四叶玫瑰数_【2018 校招真题】水仙花数...

这篇博客主要介绍了如何判断一个四位整数是否为四叶玫瑰数,即其各位数字的立方和等于自身。内容包括2018年字节跳动校招真题的解析,给出了Java代码示例,以及针对给定范围求解水仙花数的算法。
摘要由CSDN通过智能技术生成

水仙花数

2018 校招真题字节跳动水仙花数

题目描述 请判断一个数是不是水仙花数,其中水仙花数是指一个 n 位数 (n>=3),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)

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

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

样例输入 153 154 0

样例输出 Yes No

Java 代码

import java.util.Scanner;

public class Solution {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int n = scan.nextInt();

while (n != 0) {

if (isShuiXianhua(n)) {

System.out.println("Yes");

} else {

System.out.println("No");

}

n = scan.nextInt();

}

}

public static boolean isShuiXianhua(int n) {

int length = (n + "").length();

int temp = n;

int result = 0;

while (n != 0) {

result += Math.pow(n % 10, length);

n = n / 10;

}

if (temp == result) {

return true;

}

return false;

}

}

题目描述 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在 m 和 n 范围内的水仙花数。

输入描述 输入数据有多组,每组占一行,包括两个整数 m 和 n。(100<=m<=n<=999)

输出描述 对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于 m,并且小于等于 n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;如果给定的范围内不存在水仙花数,则输出 no;每个测试实例的输出占一行。

输入 100 120 300 380

输出 no 370 371

Java 代码

import java.io.IOException;

import java.util.Scanner;

public class Solution {

public static void main(String[] args) throws IOException {

Scanner sc = new Scanner(System.in);

int[] number = {153, 370, 371, 407};

while (sc.hasNext()) {

int m = sc.nextInt();

int n = sc.nextInt();

String s = "";

for (int i = 0; i < number.length; i++) {

if (number[i] >= m && number[i] <= n) {

s = s + number[i] + " ";

}

}

if ("".equals(s)) {

System.out.println("no");

} else {

System.out.println(s.substring(0, s.length() - 1));

}

}

}

}

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值