ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++Luogu:1618——三连击(升级版)

2021-05-01 17:33:07  阅读:234  来源: 互联网

标签:输出 连击 1618 int Luogu CA 三位数 三个 include


题目来自:https://www.luogu.com.cn/problem/P1618

题目描述

将 1, 2,\ldots, 91,2,…,9 共 99 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:CA:B:C,试求出所有满足条件的三个三位数,若无解,输出 No!!!

//感谢黄小U饮品完善题意

输入格式

三个数,A,B,CA,B,C。

输出格式

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

输入输出样例

输入 #1   1 2 3 输出 #1    192 384 576  219 438 657
273 546 819
327 654 981

说明/提示

保证 A<B<CA<B<C。

#include <cstdio>
#include <iostream>
using namespace std;
 
int main(){
    int x,y,z;
    cin >> x >> y >> z;
    bool ok = false;
    for (int a = 1;a <= 9;a++)
    for (int b = 1;b <= 9;b++)
    for (int c = 1;c <= 9;c++)
    for (int d = 1;d <= 9;d++)
    for (int e = 1;e <= 9;e++)
    for (int f = 1;f <= 9;f++)
    for (int g = 1;g <= 9;g++)
    for (int h = 1;h <= 9;h++)
    for (int i = 1;i <= 9;i++)
        if (a + b + c + d + e + f + g + h + i == 45 && a * b * c * d * e * f * g * h * i == 362880){
            if ((d * 100 + e * 10 + f) / y == (a * 100 + b * 10 + c) / x && (g * 100 + h * 10 + i) / z == (a * 100 + b * 10 + c) / x){
                if ((a * 100 + b * 10 + c) % x == 0 && (d * 100 + e * 10 + f) % y == 0 && (g * 100 + h * 10 + i) % z == 0){
                    printf("%d %d %d\n",a * 100 + b * 10 + c,d * 100 + e * 10 + f,g * 100 + h * 10 + i);
                    ok = true;
                }
            }
        }
    if (!ok) printf("No!!!");
    return 0;  
}

 

标签:输出,连击,1618,int,Luogu,CA,三位数,三个,include
来源: https://www.cnblogs.com/linyiweiblog/p/14724442.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有