P1008三连击 - 洛谷

P1008三连击 - 洛谷

题目描述

将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。

这一题用全排列函数next_permutation()对1~9进行全排列,拼出三个数,输出符合的答案。

题解:

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    int num[9] = {1,2,3,4,5,6,7,8,9};
    do{
    int a = num[0]*100+num[1]*10+num[2];
    int b = num[3]*100+num[4]*10+num[5];
        int c = num[6]*100+num[7]*10+num[8];
    if(a*2==b&&a*3==c)
    {    
        cout<<a<<" "<<b<<" "<<c<<endl;        
    }
    }while(next_permutation(num,num+9));
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/mydrizzle/p/12563527.html