zoukankan      html  css  js  c++  java
  • Java编程思想——吸血鬼数字问题

    吸血鬼数字:我最开始想的是把四位数拆开,然后进行自由组合然后相乘,最后比较得到结果,在网上去看了一些朋友的做法,让我大吃一惊啊,想到自己的算法也要好好看了 ,这样子下去是不行滴

    现贴出代码:

    package edu.cqu.main;
    
    import java.util.Arrays;
    
    /**
     * 问题描述:
     *        吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,
     *   其中从最初的数字中选取的数字可以任意排序。
     * 例如:
     *      1260 = 21 * 60 1827 = 21 * 87 2187 = 27 * 81
     * 要求输出所有四位数的吸血鬼数字。
     * 
     * @author Gabby
     * 
     */
    public class VampireNumber {
    	 public static void main(String[] args) {
    	        for(int i = 1; i < 100; i++){
    	            for(int j = i+1; j < 100; j++){
    	                //只要求输出四位数
    	                if(i * j >= 1000){
    	                    String a = i + "" + j;
    	                    String b = i * j + "";
    	                    if(equal(a, b)){
    	                        System.out.printf("%d * %d = %d", i, j, i*j);
    	                        System.out.println();
    	                    }
    	                }
    	            }
    	        }
    	    }
    	 
    	    //判断两个字符串包含的数字是否一致
    	    private static boolean equal(String a, String b) {
    	        //先排序
    	        char[] as = a.toCharArray();
    	        char[] bs = b.toCharArray();
    	        Arrays.sort(as); //排序
    	        Arrays.sort(bs); //排序
    	        if(Arrays.equals(as, bs)){
    	            return true;
    	        }
    	        return false;
    	    }
    }
    

      

  • 相关阅读:
    转载 自定义ListView背景
    Android 在模拟器上创建sd卡
    转载 Android TextView加下划线
    转载 Dom4j生成xml
    转载 在Struts2中使用servlet 配置问题
    android开发不错的地方
    bat demo1自定义变量
    redhat 5下安装SVN
    linux 忘记root密码
    DEBUG Sigar no libsigarx86linux.so in java.library.path
  • 原文地址:https://www.cnblogs.com/Gabby/p/5373809.html
Copyright © 2011-2022 走看看