简单推导:【九数分三组】

【题目】
1~9的数字可以组成3个3位数,设为:A,B,C,  现在要求满足如下关系:
B = 2 * A
C = 3 * A

请你写出A的所有可能答案,数字间用空格分开,数字按升序排列。

注意:只提交A的值,严格按照格式要求输出。

【分析】

很明显A的取值范围是111~333,那么在这个区间里面,还要考虑,A、B、C里面不能包含0,最后再考虑的问题是A、B、C三个数字连起来组成的字符串经过排序应该是"123456789"。

import java.math.BigInteger;
import java.util.*;

public class Lanq {
    //public static double pi = 3.1415926535897932;

    public static void main(String[] args) {
        for (int a = 111; a <= 333; a++)
            if (hasZero(a)){
            continue;
            }
            else{
            int b=2*a;
            int c=3*a;
            if(hasZero(b)||hasZero(c)){
                continue;
            }
            String s=""+a+b+c;
            if(isFind(s)){
                System.out.println(a+" "+b+" "+c);
            }
            }
    }
    public static boolean isFind(String x){
        char []arr=x.toCharArray();
        Arrays.sort(arr);//字符数组也能排序
        return "123456789".equals(String.valueOf(arr));
    }
    public static boolean hasZero(int n){
        return String.valueOf(n).contains("0");
    }

  

原文地址:https://www.cnblogs.com/passion-sky/p/8544548.html