1149: 組合三位數之二
阿新 • • 發佈:2019-01-06
題目描述
把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;
}