题目
小明发现一个奇妙的数字。它的平方
和立方
正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?
要求
输出该数字,不要输出任何多余的内容。
分析过程
要求:平方的值+立方的值=含有0~9的数字
-
首先,我们应该思考如果实现,在计算平方的值后,再计算立方的值,
-
然后把两这个的值拼接起来,注意是拼接,不是相加,可以使用String类型拼接
-
拼接完后,使用char类型进行排序
-
进行比较(和0~9字符串比较)
实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| package lab;
import java.util.Arrays;
public class 奇妙的数字01 {
public static void main(String[] args) { dfs(); } public static void dfs() { String str = "0123456789"; for (int n = 2; n < 100; n++) { String ch1 = String.valueOf(n*n); String ch2 = String.valueOf(n*n*n); String ch = ch1+ch2; char[] ch3 = ch.toCharArray(); Arrays.sort(ch3); String num = String.valueOf(ch3);
if (str.equals(num)) { System.out.println(n); } } } }
|