首页 > 代码库 > java . 请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。
java . 请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。
1 import java.util.HashMap; 2 import java.util.Map; 3 import java.util.Map.Entry; 4 //请在小于99999的正整数中找符合下列条件的数,它既是完全平方数, 5 //又有两位数字相同,如:144,676。 6 public class wqs { 7 8 //完全平方数 9 public static boolean iswqs(int n){10 int i;11 double dn=Math.sqrt(n);12 if(dn-(int)dn==0)13 return true;14 return false;15 }16 //判断只有两位相同17 public static boolean twoSame(int n){18 Map<Integer,Integer>map=new HashMap<Integer,Integer>();19 while(n>0){20 int n1=n%10;21 // System.out.print(n1);22 if(map.containsKey(n1))23 {24 int val=map.get(n1);25 map.put(n1,val+1);26 }27 else28 map.put(n1, 1);29 n=n/10;30 }31 // System.out.print(map);32 for(Entry<Integer,Integer>en:map.entrySet())33 { 34 if(en.getValue()==2){35 return true;36 }37 }38 39 return false;40 }41 42 public static void main(String[] args) {43 int i;44 for(i=2;i<99999;i++){45 if(twoSame(i)&&iswqs(i)){46 System.out.println(i+" ");47 }48 }49 }50 51 }
java . 请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。