今日题目:三连
题目描述
将 1,2,…,9 共 9 个数分成 3 组,分别组成 3 个三位数,且使这 3 个三位数构成 1:2:3 的比例,试求出所有满足条件的 3 个三位数。
输入格式
无
输出格式
若干行,每行 3 个数字。按照每行第 1 个数字升序排列。
题目分析
题目难度:⭐️
题目涉及算法:暴力,全排列,dfs。
ps:有能力的小伙伴可以尝试优化自己的代码或者一题多解,这样能综合提升自己的算法能力
题解报告:
1.思路
直接暴力或者全排列就好了,这道题我a的时候还没学全排列 直接暴力过的,把我稚嫩的代码放上来把哈哈哈哈。
2.代码
#include <stdio.h> int main() { int x,m; for(int i=123;i<=333;i++) { x=i*2; m=i*3; if((i/100+i/10%10+i%10+x/100+x/10%10+x%10+m/100+m/10%10+m%10==1+2+3+4+5+6+7+8+9)&&((i/100)*(i/10%10)*(i%10)*(x/100)*(x/10%10)*(x%10)*(m/100)*(m/10%10)*(m%10)==(1*2*3*4*5*6*7*8*9))) { printf("%d %d %d\n",i,x,m); } } return 0; }