• java实现排他平方数


    题目标题: 排它平方数

    小明正看着 203879 这个数字发呆。
    
    原来,203879 * 203879 = 41566646641
    
    这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。
    
    具有这样特点的6位数还有一个,请你找出它!
    
    再归纳一下筛选要求:
    1. 6位正整数
    2. 每个数位上的数字不同
    3. 其平方数的每个数位不含原数字的任何组成数位
    

    答案是一个6位的正整数。

    请通过浏览器提交答案。
    注意:只提交另一6位数,题中已经给出的这个不要提交。
    注意:不要书写其它的内容(比如:说明性的文字)。

    
    import java.util.*;
    
    public class A
    {
    	static Set distinct(long x)
    	{
    		Set t = new HashSet();
    		String s = "" + x;
    		for(int i=0; i<s.length(); i++) t.add(s.charAt(i));
    		return t; 
    	}
    
    	static boolean f(int x)
    	{
    		long y = (long)x * x;
    		
    		Set a = distinct(x);
    		Set b = distinct(y);
    		
    		if(a.size() != 6) return false;
    		
    		a.retainAll(b);
    		return a.isEmpty(); 
    	}
    	
    	public static void main(String[] args)
    	{
    		final int A = 1000 * 100;
    		final int B = A * 10;
    		
    		for(int i=A; i<B; i++)
    		{
    			if(f(i)) 
    				System.out.println(i);
    		}
    	}
    }
    
  • 相关阅读:
    Google Maps Android API v2 开发笔记
    eclipse快捷键设置
    浮动div,回到顶部
    android开发环境
    Android百度地图开发之地址解析MKSearch.geocode()
    java基础(for循环)
    博客园首记
    记录有待阅读的文章——2013.2.2
    整理推荐的CSS属性书写顺序
    JavaScript——Firebug控制台详解
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12947234.html
Copyright © 2020-2023  润新知