蓝桥杯(java)猜年龄

标题: 猜年龄

美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。

一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:

“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”

请你推算一下,他当时到底有多年轻。

通过浏览器,直接提交他那时的年龄数字。
注意:不要提交解答过程,或其它的说明文字。

分析思路:
暴力判断年龄的最小范围:
其实10到22不是最小还可以排除:

x>10;
x<22;
将X的三次方转换为字符串:
xxx>1000; string A;
将X的四次方也转换为一个字符串:
xxx*x>100000; String B;
string C=A+B;
并排序
最后判断
Arrays.sort©;c=0123456789;

import java.util.Arrays;

public class 猜年龄 {

public static void main(String[] args) {
	// TODO Auto-generated method stub

	int x;
	String A;
	String B;
	String C;
	for(int i=10;i<22;i++) {
		x=i;
		A=""+x*x*x;
		char [] a=A.toCharArray();
		B=""+x*x*x*x;
		char [] b=B.toCharArray();
		Arrays.sort(a);
		Arrays.sort(b);
		String D=String.valueOf(a);
		String E=String.valueOf(b);
		C=D+E;
		char [] c=C.toCharArray();
		Arrays.sort(c);
		String F=String.valueOf(c);
		if(F.equals("0123456789")) {
			System.out.println(x);
			break;
		}		
	}
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值