题目
小明发现一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?
要求
输出该数字,不要输出任何多余的内容。
分析过程
要求:平方的值+立方的值=含有0~9的数字
-
首先,我们应该思考如果实现,在计算平方的值后,再计算立方的值,
-
然后把两这个的值拼接起来,注意是拼接,不是相加,可以使用String类型拼接
-
拼接完后,使用char类型进行排序
-
进行比较(和0~9字符串比较)
实现
java
package lab;
import java.util.Arrays;
public class 奇妙的数字01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
dfs();
}
public static void dfs() {
//比较字符串
String str = "0123456789";
//便利数值,尽量范围缩小
for (int n = 2; n < 100; n++) {
// 计算平方的值,并转化为String类型
String ch1 = String.valueOf(n*n);
// 计算立方的值,并转化为String类型
String ch2 = String.valueOf(n*n*n);
//将平方和立方的char类型拼接起来
String ch = ch1+ch2;
char[] ch3 = ch.toCharArray();
//排序
Arrays.sort(ch3);
//使用String类型,为了容易作比较
String num = String.valueOf(ch3);
if (str.equals(num)) { //对比字符串,输出 n 的值
System.out.println(n);
}
}
}
}
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 小码同学
评论
隐私政策
0/500
滚动到此处加载评论...
