#include

1149: 组合三位数之二

1149: 组合三位数之二

时间限制: 1 Sec  内存限制: 128 MB
提交: 958  解决: 574
[提交][状态][讨论版][命题人:admin]

题目描述

把1,2,3,4,5,6,7,8,9,组成三个三位数(每个数只能用一次),第二个数是第一个数的2倍,第三个数是第一个数的3倍,这三个三位数各是多少?答案可能有很多组,请按第一个数的升序顺序输出每组的三个三位数。

输入

输出

输出所有满足条件的三位数组合,按第一个数的升序顺序输出。

样例输出

192 384 576
219 438 657
.........
#include<iostream>
#include<cstring>

using namespace std ;

bool check(int num1 , int num2 , int num3){
    int visit[10] ; 
    memset(visit , 0 , sizeof(visit))  ; 
    while(num1){
        visit[num1%10] = 1 ; 
        num1 /=10 ; 
    }
    while(num2){
        visit[num2%10] = 1 ; 
        num2 /= 10 ; 
    }
    while(num3){
        visit[num3%10] = 1 ; 
        num3 /= 10 ; 
    }
    bool flag = true ; 
    for(int i=1 ; i<=9 ; i++){
        if(visit[i] == 0){
            flag = false ; 
        }
    }
    return flag ; 
}

int main(){

    for(int i=100 ; i<=333 ; i++){
        if(check(i , 2*i , 3*i)){
            cout<< i <<" " << 2*i<<" "<<3*i<<endl ; 
        }
    }

    return 0 ; 
} 

 

posted @ 2018-04-21 16:30  0一叶0知秋0  阅读(328)  评论(0编辑  收藏  举报