1. 程式人生 > >1149: 組合三位數之二

1149: 組合三位數之二

題目描述
把1,2,3,4,5,6,7,8,9,組成三個三位數(每個數只能用一次),第二個數是第一個數的2倍,第三個數是第一個數的3倍,這三個三位數各是多少?答案可能有很多組,請按第一個數的升序順序輸出每組的三個三位數。

輸入

輸出
輸出所有滿足條件的三位數組合,按第一個數的升序順序輸出。

樣例輸出192 384 576
219 438 657

#include<stdio.h>
int panduan(int a,int b,int c);
int main(){
       int q;
      for(q=123;q<333;q++
){ int p=q*2; int m=q*3; if(panduan(q,p,m)==1) printf("%d %d %d\n",q,p,m); } return 0; } int panduan(int a,int b,int c){ int p[9]={0}; while(a){ p[a%10-1]++; a/=10; } while(b){ p[b%10-1]++; b/
=10; } while(c){ p[c%10-1]++; c/=10; } for(int i=0;i<9;i++) if(p[i]==0||p[i]>1) return 0; return 1; }