zoukankan      html  css  js  c++  java
  • Luogu 1008 三连击

    题目背景

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

    题目描述

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

    输入格式

    木有输入

    输出格式

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

    输入输出样例

    输入
    输出
    192 384 576
    * * *
    ...
    
    * * *
    (输出被和谐了)

    【分析】
      刚拿到这道题的时候感觉很玄学,但是后来才想到只需要模拟就好,顿时觉得轻松。

    因为数字不重复a便从123开始模拟,结束就暂且定为333.。因为要保证1~9不重复,所以我们依次取出a、b、c,三个数的每一位相乘,看是否等于9的阶乘,用同一法的数学思想可证得九个数相乘等于9的阶乘有且仅有1~9九个数。(补:阶乘定义:一个正整数的阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。)

    【标程】

     1 #include<cstdio>
     2 int a, b, c;
     3 int Mul(int x) {
     4     return (x / 100) * (x / 10 % 10) * (x % 10);
     5 }
     6 void solve() {
     7     for (a = 123; a <= 333; ++ a) {
     8         b = 2 * a;
     9         c = 3 * a;
    10         if (Mul(a) * Mul(b) * Mul(c) == 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2)
    11             printf("%d %d %d
    ", a, b, c);
    12     }
    13 }
    14 int main() {
    15     solve();
    16     return 0;
    17 }
  • 相关阅读:
    PPP协议 PAP认证
    交换机广播风暴,STP生成树协议,端口聚合
    传统远程注入线程,加载DLL
    EXE和DLL调用关系,DLL制作,钩子
    window bat批处理 实用脚本
    python利用scapy嗅探流量
    关于AWD线下攻防的经验
    APP 仿微信登录
    价值1500左右的毕业设计都开源啦
    EOS2.0环境搭建-centos7
  • 原文地址:https://www.cnblogs.com/Limbo-To-Heaven/p/11337312.html
Copyright © 2011-2022 走看看