三组划分//巧妙填数
三组划分//巧妙填数
Time Limit:1000MS Memory Limit:65536K
Description
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。
Input
无
Output
每行输出一个解。以第一个数据从小到大输出各组解。
每组解的三个数据也从小到大排列,中间用一个空格隔开。
题例中的解,输出格式为:
192 384 576
Sample Input
无
Sample Output
无
Source
NOIP1998年第四届全国青少年信息学奥林匹克分区联赛复赛普及组第一题
1 //水题…… 2 #include<cstdio> 3 #include<algorithm> 4 using namespace std; 5 int q[10]={0}; 6 int r(int z){ 7 for(int j=1;j<=9;j++){ 8 int w; 9 w=z%10; 10 q[j]=w; 11 z/=10;} 12 sort(&q[1],&q[10]); 13 for(int l=1;l<=9;l++){ 14 if(q[l]!=l)return 0;} 15 return 1;} 16 int main(){ 17 int a,w,b,c,i,z; 18 for(i=100;i<=333;i++){ 19 a=i*1; 20 b=i*2; 21 c=i*3; 22 z=a*1000000+b*1000+c; 23 if(r(z))printf("%d %d %d\n",a,b,c); 24 } 25 return 0;}