• 组成三位数


    3023: 组成三位数

    时间限制: 1 Sec  内存限制: 125 MB
    提交: 6  解决: 2
    [提交][状态][讨论版][命题人:外部导入]

    题目描述

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

    例如:三个三位数192,384,576满足以上条件。

    输入

    本题无输入。

    输出

    输出所有符合要求的三个三位数,每一组占一行,数字之间由一个空格分隔。

    每组中的三个数字按照从小到大输出,各组之间按照每组的第一个数从小到大输出。

    样例输入

    本题无输入。

    样例输出

    本题结果是唯一的,所以不提供输出样例。满足条件的第一组数据为
    192 384 576


    解题思路:开一个for,从123开始到329判断,是否满足各位数和等于45,各位数乘积等于362880即可,注意一定要尽量减少判断的数目,因为最大数是987,所以i的最大值是329
    #include<bits/stdc++.h>
    using namespace std;
    
    bool check(int x,int y,int z)
    {
        if(x%10+x/10%10+x/100+y%10+y/10%10+y/100+z%10+z/10%10+z/100==45)
            if((x%10)*(x/10%10)*(x/100)*(y%10)*(y/10%10)*(y/100)*(z%10)*(z/10%10)*(z/100)==362880)
            return true;
        return false;
    }
    
    int main()
    {
        for(int i=123;i<=329;++i)
        {
            int a=i,b=2*i,c=3*i;
            if(check(a,b,c))cout<<a<<" "<<b<<" "<<c<<endl;
        }
        return 0;
    }
  • 相关阅读:
    AVL树
    快速排序
    基数排序LSD_Radix_Sort
    归并排序
    JDBC连接池与工具类
    cookie的基础以及小案例
    javase基础4
    tomcat的request和response小案例
    javase基础3
    Servlet以及一个简单的登录案例
  • 原文地址:https://www.cnblogs.com/wjw2018/p/9334755.html
Copyright © 2020-2023  润新知