zoukankan      html  css  js  c++  java
  • 一个有趣的算法题。。。

    标题的含义:

    使用1。 2。 3 。4 ,5, 6, 7, 8, 9 组成3个三位数 abc, def 和 ghi, 每一个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出全部解。
    分析:

    模拟全部三位数。推断条件有二:

    一、i(abc):j(def):k(ghi)=1:2:3

    二、推断是否出现的1~9之间的全部数字


    代码:

    /**
     *一道有趣的算法题
     *
     */
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int main()
    {
        for(int i=123;i<=987;i++){
            for(int j=i+1;j<=987;j++){
                for(int k=j+1;k<=987;k++){
                    if(i*2==j&&i*3==k){//推断是否是1:2:3
                        int a[10]={0};//推断是否反复,是否出现1~9之间全部书
                        a[i%10]++;  a[i/10%10]++;   a[i/100]++;
                        a[j%10]++;  a[j/10%10]++;   a[j/100]++;
                        a[k%10]++;  a[k/10%10]++;   a[k/100]++;
                        int c;
                        for(c=1;c<=9;c++){
                            if(a[c]==0) break;//没有数字c,退出
                        }
                        if(c==10){
                            printf("%d:%d:%d=1:2:3 ",i,j,k);
                        }
                    }
                }
            }
        }
        return 0;
    }


    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    线程
    简单排序
    SSM的整合
    SpringMVC中的拦截器、异常处理器
    SpringMVC的文件上传
    SpringMVC的数据响应和结果视图
    springMVC的常用注解
    SpringMVC入门
    Spring中声明式事务控制
    JdbcTemplate在spring中的使用
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4750543.html
Copyright © 2011-2022 走看看