0
点赞
收藏
分享

微信扫一扫

c++题目

醉倾城1 2022-03-30 阅读 67
c++算法

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

#include<iostream>
using namespace std;
int i,j,k,b,c,flag,s[10];
int main()
{
    for(i=123;i<=329;i++)
    {
        flag=0;                     //将用来标记的变量初始化为零
        b=2*i;
        c=3*i;                      //使得i,b,c之间的比例为1:2:3
        s[1]=i/100;
        s[2]=i/10%10;
        s[3]=i%10;
        s[4]=b/100;
        s[5]=b/10%10;
        s[6]=b%10;
        s[7]=c/100;
        s[8]=c/10%10;
        s[9]=c%10;                  //将每个数字单独提出来
        for(j=1;j<9;j++)
            for(k=j+1;k<=9;k++)
                if(s[j]==0||s[j]==s[k])      
                //如果这之间有两个数相等或者某个数字为零,就标记下来,并踢出备选答案
                    flag=1;
        if(flag==0)
            cout<<i<<" "<<b<<" "<<c<<endl;
    }
    return 0;
}
举报

相关推荐

0 条评论