首页 > 代码库 > 习题2-6 排列--------《竞赛算法入门指导》

习题2-6 排列--------《竞赛算法入门指导》

习题2-6 排列(permutation)
用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要
求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。提示:不必
太动脑筋。

 

#include <iostream>
using namespace std;

int main(void){
     int s,m,n;
     int a, b, c, d,e, f, g, h, i;
     for(s=100;s<1000/3;s++){
         m=2*s;
         n=3*s;
         
         a=s/100;
         b=(s-a*100)/10;
         c=s%10;
         
         d=(m)/100;
         e=(m-d*100)/10;
         f=m%10;
         
         g=n/100;
         h=(n-g*100)/10;
         i=n%10;
         
         
         if(a!=b && a!=c && a!=d && a!=e&& a!=f && a!=g && a!=h && a!=i){
             if(b!=c && b!=d && b!=e && b!=f && b!=g && b!=h && b!=i){
                 if(c!=d && c!=e && c!=f && c!=g && c!=h && c!=i){
                     if(d!=e && d!=f && d!=g && d!=h && d!=i){
                         if(e!=f && e!=g && e!=h && e!=i){
                             if(f!=g && f!=h && f!=i){
                                 if(g!=h && g!=i){
                                     if(h!=i){
                                         cout<<s<<" "<<m<<" "<<n<<endl;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }    
     }

    return 0;
}

输出为

技术分享

 

习题2-6 排列--------《竞赛算法入门指导》