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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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             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。的主要内容,如果未能解决你的问题,请参考以下文章

求java正则表达式输出小于10的正整数

输出 10000 至 99999 中所有的回文数(回文数是指从左到右读与从右到左读都一样的正整数,如 11,22,3443,94349 等)

输出 10000 至 99999 中所有的回文数(回文数是指从左到右读与从右到左读都一样的正整数,如 11,22,3443,94349 等)

JS里加一个判断,大于0小于10的正整数,高手看看该怎么加

C语言:输入n(小于10的正整数),输出如下形式的数组?

求正则表达式, 第一位大于0的正整数,直接可以在onkeyup事件中 使用的!