zoukankan      html  css  js  c++  java
  • 洛谷p1008 三连击

    https://www.luogu.org/problemnew/show/P1008

    题目描述

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

    输入输出格式

    输入格式:

    木有输入

    输出格式:

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

     

    思路:可以让三组数分别等于a,b,c,又因为三组数要有1:2:3的关系,所以直接令b=2a,c=3a。

    接下来再检测a,b,c里面有没有重复的数字,把a,b,c的个十百位全部分离出来,放到一个数组里面。

    再用循环判断数组的元素是不是有重复,如果没有重复就输出。

     

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main(){
        int a,b,c;
        for(a=123;a<329;a++){   ///a的最大的取值范围 
            int flag=1;
            b=a*2;
            c=a*3;
            int k[9];
            int a1,b1,c1;
            a1=a;
            b1=b;
            c1=c;
            for(int i=0;i<9;i=i+3){
                k[i]=a1%10;
                a1=a1/10;
                k[i+1]=b1%10;
                b1=b1/10;
                k[i+2]=c1%10;
                c1=c1/10;
            }
            for(int i=0;i<9;i++){
                for(int j=0;j<9;j++){
                    if(k[i]==k[j]&&i!=j)
                    flag=0;
                }
            }
            for(int i=0;i<9;i++)
            if(k[i]==0)
            flag=0;
            if(flag) cout<<a<<" "<<b<<" "<<c<<endl;
        }
        return 0;
    }

     

  • 相关阅读:
    CTO干点啥?
    [转] 持续集成与持续交付备忘录
    [转]概率基础和R语言
    程序自信
    [转]Neural Networks, Manifolds, and Topology
    ubuntu14 + nginx + php
    [转]http://makefiletutorial.com/
    REDIS key notification
    GO RPC
    xpcall 安全调用
  • 原文地址:https://www.cnblogs.com/wushengyang/p/10583326.html
Copyright © 2011-2022 走看看