习题2-6 排列--------《竞赛算法入门指导》

习题2-6 排列(permutation)
用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要
求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。提示:不必
太动脑筋。

#include <iostream>
using namespace std;

int main(void){
     int s,m,n;
     int a, b, c, d,e, f, g, h, i;
     for(s=100;s<1000/3;s++){
         m=2*s;
         n=3*s;

         a=s/100;
         b=(s-a*100)/10;
         c=s%10;

         d=(m)/100;
         e=(m-d*100)/10;
         f=m%10;

         g=n/100;
         h=(n-g*100)/10;
         i=n%10;

         if(a!=b && a!=c && a!=d && a!=e&& a!=f && a!=g && a!=h && a!=i){
             if(b!=c && b!=d && b!=e && b!=f && b!=g && b!=h && b!=i){
                 if(c!=d && c!=e && c!=f && c!=g && c!=h && c!=i){
                     if(d!=e && d!=f && d!=g && d!=h && d!=i){
                         if(e!=f && e!=g && e!=h && e!=i){
                             if(f!=g && f!=h && f!=i){
                                 if(g!=h && g!=i){
                                     if(h!=i){
                                         cout<<s<<" "<<m<<" "<<n<<endl;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }

    return 0;
}

输出为

时间: 2024-10-13 00:31:03

习题2-6 排列--------《竞赛算法入门指导》的相关文章

习题2-3 倒三角形-----《竞赛算法入门指导》

#include <iostream> using namespace std; int main() { int n,i,j; cin>>n; for(i=n-1;i>=0;i--) { for(j=0;j<n-(i+1);j++){ cout<<' '; } for(j=n-(i+1);j<n+i;j++){ cout<<'#'; } for(j=n+i;j<2*n;j++){ cout<<' '; } cout<

算法竞赛_入门经典_刘汝佳__(2)

1,有几位数字 #include<stdio.h> int main_2_1_digit(){ int n; while(scanf("%d",&n)){ int count = 0; if(n==0) count = 1; while(n){ count++; n/=10; } printf("%d\n",count); } return 0; } 2,三位数的三个数字 #include<stdio.h> int main_2_2_

算法导论(Introduction to Algorithms )— 第二章 算法入门 — 2.1 插入排序

一.插入排序:INSERTION-SORT 1.适用范围: which is an efficient algorithm for sorting a small number of elements. 对于少量元素的排序,插入排序是一种高效的算法. 2.原理: Insertion sort works the way many people sort a hand of playing cards. We start with an empty left hand and the cards

Kaggle大数据竞赛平台入门

Kaggle大数据竞赛平台入门 大数据竞赛平台,国内主要是天池大数据竞赛和DataCastle,国外主要就是Kaggle.Kaggle是一个数据挖掘的竞赛平台,网站为:https://www.kaggle.com/.很多的机构,企业将问题,描述,期望发布在Kaggle上,以竞赛的方式向广大的数据科学家征集解决方案,体现了集体智慧这一思想.每个人在网站上注册后,都可以下载感兴趣项目的数据集,分析数据,构造模型,解决问题提交结果.按照结果的好坏会有一个排名,成绩优异者还可能获得奖金/面试机会等. 图

贝叶斯公式由浅入深大讲解—AI基础算法入门

1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且概率虽然未知,但最起码是一个确定的值.比如如果问那时的人们一个问题:"有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率是多少?"他们会想都不用想,会立马告诉你,取出白球的概率就是1/2,要么取到白球,要么取不到白球,即θ只能有一个值,而且不论你取了多少次,取得白球的概率θ始终都是1/2,即不随观察结果X

第二章 算法入门 合并排序

在第二章中难的算法不多,接下来我会把稍微复杂一点的算法整理一下 #include <iostream> using namespace std; void mergeSort(int *A,int left,int mid,int right) { int *L=new int[mid-left+1]; int *R=new int[right-mid+1]; int i,j; for(i=0;i<mid-left+1;i++) { L[i]=A[left+i]; } for (j=0;

新手入门指导:Vue 2.0 的建议学习顺序

起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script>,把教程里的例子模仿一遍,理解用法.不推荐上来就直接用 vue-cli 构建项目,尤其是如果没有 Node/Webpack 基础. 3. 照着官网上的示例,自己想一些类似的例子,模仿着实现来练手,加深理解. 4. 阅读官方教程进阶篇的前半部分,到『自定义指令 (Custom Directive) 』为止.着

Web开发的入门指导

Web开发的入门指导 web开发 编程技术 你点开此文,说明你对Web开发是有兴趣的,或者你正在思考开始学习Web开发.在这里,我会告诉你成为一名Web开发者的路线,是对初学者关于Web开发的指导.这篇文章不会教你如何写代码,而是指出在你在真正写代码之前要思考的事情.Web开发是令人兴奋和有激情的事情,正是迎合了这个高速变化发展的世界.了解Web开发,我们先来定义几个基本的概念. 前段和后端 一开始一定要分清前端开发和后端开发,我们来分别介绍一下. 前段 Web应用被分类归为分布式应用,一般是客

算法入门心得

最近看了刘汝佳写的算法入门经典  感觉自己的基础实在太烂了  所以总结了一些我们比较容易犯的错误给大家看看(大牛就不要看了O(∩_∩)O) 1.浮点数:两个整数计算的是浮点数的时候一定要把整数先化为浮点数  5-0.1计算机先把5变5.0之后再进行计算的 2.异或运算:这个是个很神秘的东西如果要在一个数组中找一个只有一个的数那么就可以用异或了 异或也可以用在两个数的交换a = a^b; b = a ^ b; a = a ^ b;就实现转换了 自己异或自己等于0: 3.逻辑运算符都是短路运算符a|