Description
1,2,…,9组成三个三位数,使这三个三位数构成1:2:3的比例,求出所有满足条件的三个三位数。
Input
无输入
Output
若干行,每行3个数字。按照每行第一个数字升序排列。我们这里只列出一组,其实不止哦!
Sample Input
没有输入,不需要!
Sample Output
192 384 576
(后面略。。。,这一行不用输出哦!)
HINT
此题若三重循环来枚举,必然会TLE,所以最好是自己一个个去生成,时间复杂度会降低很多,这样只需判断是否由1到9组成了,下面是代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a[10];
for(int i=100;i<=333;i++)
{
a[1]=(i*1)/100;
a[2]=(i*1)/10%10;
a[3]=(i*1)%10;
a[4]=(i*2)/100;
a[5]=(i*2)/10%10;
a[6]=(i*2)%10;
a[7]=(i*3)/100;
a[8]=(i*3)/10%10;
a[9]=(i*3)%10;
sort(a+1,a+10);
if(a[1]==1&&a[2]==2&&a[3]==3&&a[4]==4&&a[5]==5&&a[6]==6&&a[7]==7&&a[8]==8&&a[9]==9)
{
cout<<1*i<<" "<<2*i<<" "<<3*i<<endl;
}
}
return 0;
}