1:2:3(C++)

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

Input
无输入

Output
若干行,每行3个数字。按照每行第一个数字升序排列。我们这里只列出一组,其实不止哦!

Sample Input

没有输入,不需要!

Sample Output

192 384 576
(后面略。。。,这一行不用输出哦!)

HINT

此题若三重循环来枚举,必然会TLE,所以最好是自己一个个去生成,时间复杂度会降低很多,这样只需判断是否由1到9组成了,下面是代码:

#include <bits/stdc++.h>
using namespace std;
int main() {
    int a[10];
    for(int i=100;i<=333;i++)
    {
        a[1]=(i*1)/100;
        a[2]=(i*1)/10%10;
        a[3]=(i*1)%10;
        a[4]=(i*2)/100;
        a[5]=(i*2)/10%10;
        a[6]=(i*2)%10;
        a[7]=(i*3)/100;
        a[8]=(i*3)/10%10;
        a[9]=(i*3)%10;
        sort(a+1,a+10);
        if(a[1]==1&&a[2]==2&&a[3]==3&&a[4]==4&&a[5]==5&&a[6]==6&&a[7]==7&&a[8]==8&&a[9]==9)
        {
            cout<<1*i<<" "<<2*i<<" "<<3*i<<endl;
        }
    }
       
    return 0;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值