码迷,mamicode.com
首页 > 编程语言 > 详细

java . 请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。

时间:2016-10-15 18:57:57      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

 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             else
28                   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。

标签:

原文地址:http://www.cnblogs.com/angle-happy/p/5964869.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!