数据结构作业W2

发布时间 2023-04-20 20:53:57作者: T-Yoriichi

题目背景

本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

题目描述

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

输入格式

输出格式

若干行,每行 3 个数字。按照每行第 1 个数字升序排列。

输入输出样例

输入格式

   无

输出格式

192 384 576
* * *
...

* * *
(剩余部分不予展示)

参考代码:

#include<iostream>
using namespace std;
int main()
{       int x,y,i;//分别定义3个三位数
        for(i=123;i<=333;i++)//进入for循环
        {//构造1:2:3的比例关系
            x=i*2;//第一个数✖️2=第二个数
            y=i*3;//第一个数✖️3=第三个数
            if((i/100+i/10%10+i%10+x/100+x/10%10+x%10+y/100+y/10%10+y%10==1+2+3+4+5+6+7+8+9)&&((i/100)*(i/10%10)*(i%10)*(x/100)*(x/10%10)*(x%10)*(y/100)*(y/10%10)*(y%10)==(1*2*3*4*5*6*7*8*9)))
         //用if条件语句判断是否符合要求,符合后输出结果
条件:当i,x,y的个位十位百位数字相加之和为1~9九个数字之和 且
i,x,y的个位十位百位数字相乘之积为1~9九个数字之积
n的百位数:c=n/100
n的十位数:b=n/10%10 n的个位数:a=n%10

{
                cout<<i<<" "<<x<<" "<<y<<endl;//按升序输出结果
            }
        }
        return 0;
}