/**
* .将1,2,...,9共9个数分成3组,
* 分别组成三位数,且使这3个三位数构成1:2:3的比例,
* 试求出所有满足条件的3个三位数。
*
*/
public class Test {
public static void main(String[] args) {
/**
* 输出样例
* 192 384 576
* * * *
* . . .
* * * *
* (剩余部分不与展示)
*/
//定义a,b,c为三个三位数。
int a,b,c;
//以a为基准,要求找到1:2:3的三个三位数。
for (a = 192 ;a < 330 ; a++){
b =a * 2;
c = a * 3;
//判断是否是9个不同的数
//此时利用数学法则,即不同数相加的和与1-9的和相等且不同数的积等于1-9的积则 这三个数就是要求的数。
if ((a%10+a/10%10+a/100%10
+b%10+b/10%10+b/100%10
+c%10+c/10%10+c/100%10)
== (1+2+3+4+5+6+7+8+9)
&&
((a%10)*(a/10%10)*(a/100%10)
*(b%10)*(b/10%10)*(b/100%10)
*(c%10)*(c/10%10)*(c/100%10)
== (1*2*3*4*5*6*7*8*9))){
//找到则打印
System.out.println(a+" "+b+" "+c);
}
}
}
/**
* @answer:
* 192 384 576
* 219 438 657
* 273 546 819
* 327 654 981
*/
}
三连击暴力解
最新推荐文章于 2024-09-19 13:19:42 发布
本文深入探讨了如何使用Java实现算法的三连击技巧,通过实例解析关键步骤,帮助读者理解并掌握在实际问题中应用这些算法的策略。内容包括基础算法知识、Java代码实现以及性能优化建议。
摘要由CSDN通过智能技术生成