洛谷 P1008.三连击
洛谷 P1008.三连击
题目背景
本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。
题目描述
将1,2,⋯ ,9共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。
输入格式
木有输入
输出格式
若干行,每行3个数字。按照每行第1个数字升序排列
输入输出样例
输入样例#1
无
输出样例#1
192 384 576
* * *
...
* * *
(输出被和谐了)
题目思路
#include<iostream>
#include<algorithm>
using namespace std;
int a[9];
bool check(int num)
{
a[0]=num%10;
a[1]=num/10%10;
a[2]=num/100;
a[3]=num*2%10;
a[4]=num*2/10%10;
a[5]=num*2/100;
a[6]=num*3%10;
a[7]=num*3/10%10;
a[8]=num*3/100;
sort(a,a+9);
for(int i=0;i<9;i++)
if(a[i]!=i+1)
return false;
return true;
}
int main()
{
for(int i=192;i<=333;i++)
{
if(check(i))
printf("%d %d %d\n",i,2*i,3*i);
}
return 0;
}