[Java] 洛谷 P1008. 三连击

Description

将1,2, \cdots ,9,共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。

输入输出样例

输出格式
若干行,每行33个数字。按照每行第11个数字升序排列。

输出 #1
192 384 576
* * *
...

* * *
(输出被和谐了)

Solution

  1. 用数组记录1~9每个数是否被使用过
  2. 对于一个三位数a:百位数字:a/100 , 十位数字:a/10%10, 个位数字:a%10
import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) {
        for(int a = 123;a<333;a++) {
            int sum = 0;
            int d[] = new int[11];   // a/100 : 百位,a%10: 个位:a % 10
            d[a/100] = d[a%10] = d[a/10%10] = d[a*2/100] = d[a*2%10] = d[a*2/10%10] = d[a*3/100] =  d[a*3%10] = d[a*3/10%10] = 1;
            for(int i = 1;i<10;i++) {
                sum+=d[i];
            }
            if(sum == 9)
                System.out.printf("%d %d %d\n",a,a*2,a*3);
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容