中兴面试程序-年龄问题
2015-10-21 10:52
253 查看
问题陈述:一个人的年龄的三次方是四位数,四次方是六位数,一共这十位数恰好是0~9这没有重复的十个数字。求这个人的年龄是多少
用HashMap的求解给出自己的解决方法:
import java.util.HashMap;
/**
* Created by zmjs on 2015/10/21.
* 一个人的年龄的3次方是四位数,4次方是六位数,总共十位数刚好是0-9,求这个人的年龄。
*
*/
public class Age {
public static void main( String[] args ){
int age = (int)Math.pow(100000.0, 1.0/4);
boolean flag = false;
while(true){
int three = (int) Math.pow(age, 3);
int four = (int) Math.pow(age, 4);
if( three >= 1000 && three <= 9999 && four >= 100000 && four <= 999999 ){
String sThree = String.valueOf(three);
String sFour = String.valueOf(four);
String t = sThree + sFour;
HashMap<Character, Boolean> map = new HashMap<Character, Boolean>();
for( int i = 0; i < t.length(); i++ ){
if( map.containsKey(t.charAt(i))){
age++;
flag = true;
break;
}else{
map.put(t.charAt(i), true);
}
}
if( flag ){
flag = false;
continue;
}else{
break;
}
}else {
age++;
}
}
System.out.println(age);
}
}
用HashMap的求解给出自己的解决方法:
import java.util.HashMap;
/**
* Created by zmjs on 2015/10/21.
* 一个人的年龄的3次方是四位数,4次方是六位数,总共十位数刚好是0-9,求这个人的年龄。
*
*/
public class Age {
public static void main( String[] args ){
int age = (int)Math.pow(100000.0, 1.0/4);
boolean flag = false;
while(true){
int three = (int) Math.pow(age, 3);
int four = (int) Math.pow(age, 4);
if( three >= 1000 && three <= 9999 && four >= 100000 && four <= 999999 ){
String sThree = String.valueOf(three);
String sFour = String.valueOf(four);
String t = sThree + sFour;
HashMap<Character, Boolean> map = new HashMap<Character, Boolean>();
for( int i = 0; i < t.length(); i++ ){
if( map.containsKey(t.charAt(i))){
age++;
flag = true;
break;
}else{
map.put(t.charAt(i), true);
}
}
if( flag ){
flag = false;
continue;
}else{
break;
}
}else {
age++;
}
}
System.out.println(age);
}
}
相关文章推荐
- [Java 程序员] JAVA程序员必看的15本书-JAVA自学书籍推荐
- [Java 程序员] Java程序员需要看的书
- 程序员教你如何追女孩
- [Java 程序员]成为优秀Java程序员的10个要点
- c# 面试题
- POPTEST学员就业面试题目!!!!!
- 面试中关于字符串的一些问题
- 程序员须知
- 吃货齐聚!职场中最贪吃的部门排行揭晓
- 面试会遇到的正则--去除掉js代码,或是html中代码
- 芒果iOS开发面试题答案
- 程序员教你如何追女生
- Android 70道面试题汇总不再愁面试
- 月薪3万的程序员都避开了哪些坑?
- OSChina 周三乱弹 —— 老鸟程序员的小技巧
- 让人向往的程序员鼓励师
- 写在跳槽前——各种android面试题
- 面试技巧题
- 黑马程序员------java正则表达式
- 黑马程序员----反射机制