题目描述
把1,2,3,4,5,6,7,8,9,组成三个三位数(每个数只能用一次),第二个数是第一个数的2倍,第三个数是第一个数的3倍,这三个三位数各是多少?答案可能有很多组,请按第一个数的升序顺序输出每组的三个三位数。

输入

输出
输出所有满足条件的三位数组合,按第一个数的升序顺序输出。

样例输出192 384 576
219 438 657

这题可以用dfs或者判断每组数字,是不是1到9都用到了。

#include<stdio.h>
int panduan(int a, int b, int c);
int main(){int q;for (q = 123; q < 333; q++){int p = q * 2;int m = q * 3;if (panduan(q, p, m) == 1)printf("%d %d %d\n", q, p, m);}return 0;
}
int panduan(int a, int b, int c){int p[9] = { 0 };while (a){p[a % 10 - 1]++;a /= 10;}while (b){p[b % 10 - 1]++;b /= 10;}while (c){p[c % 10 - 1]++;c /= 10;}for (int i = 0; i < 9; i++)if (p[i] == 0 || p[i]>1)return 0;return 1;
}

DFS

#include<iostream>
using namespace std;
int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int c[10];
int b[10];
void dfs(int d){int i;if (d == 10){int sum1 = b[1] * 100 + b[2] * 10 + b[3];int sum2 = b[4] * 100 + b[5] * 10 + b[6];int sum3 = b[7] * 100 + b[8] * 10 + b[9];if (sum1&&sum2 == 2 * sum1&&sum3 == 3 * sum1){for (i = 1; i <= 9; i++){cout << b[i];if (i % 3 == 0)cout << " ";}cout << endl;}}else{for (i = 1; i <= 9; i++)if (c[i] == 0){c[i] = 1, b[d] = a[i], dfs(d + 1);c[i] = 0;}}
}
int main(){dfs(1);
}

ZZULIOJ 1149: 组合三位数之二相关推荐

  1. ZZULIOJ 1148: 组合三位数之一

    题目描述 把1.2.3.4.5.6.7.8.9组合成3个3位数,要求每个数字仅使用一次,使每个3位数均为完全平方数.按从小到大的顺序输出这三个三位数. 输入 无 输出 按从小到大的顺序输出这三个三位数 ...

  2. 详细代码注释1148: 组合三位数之一

    题目描述 48: 组合三位数之一 时间限制: 1 Sec 内存限制: 128 MB 提交: 5197 解决: 3705 把1.2.3.4.5.6.7.8.9组合成3个3位数,要求每个数字仅使用一次,使 ...

  3. 1148: 组合三位数之一 C语言

    1148: 组合三位数之一 时间限制: 1 Sec 内存限制: 128 MB 提交: 4056 解决: 2880 [状态] [讨论版] [提交] [命题人:admin] 题目描述 把1.2.3.4.5 ...

  4. zzulioj1148: 组合三位数之一

    1148: 组合三位数之一 题目描述 把1.2.3.4.5.6.7.8.9组合成3个3位数,要求每个数字仅使用一次,使每个3位数均为完全平方数.按从小到大的顺序输出这三个三位数. 输入 无 输出 按从 ...

  5. C语言数组练习-组合三位数

    要求:将0到9这十个数字分成三个3位数,要求第一个3位数,正好是第二个3位数的1/2,是第三个3位数的1/3.问应当怎样分,编写程序实现. #声明:本代码思路较为简单,但书写复杂请酌情参考. ---- ...

  6. 组合三位数c语言第八周,C语言教案-第八周教学提纲.doc

    第八节 数组 --一维数组 1:通过对本节课的学习,能够了解.掌握有关数组的相关概念及一维数组定义.初始化.引用和在程序中使用. 1.1教学目的: 1. 数组的相关概念 2. 一维数组的定义.初始化. ...

  7. 7-88 组合成最小的三位数

    7-88 组合成最小的三位数 输入一个三位数的正整数,将数字位置重新排列,组成一个尽可小的三位数. 输入格式: 输入一个三位的正整数. 输出格式: 输出组合之后最小的三位值正整数. 输入样例: 315 ...

  8. C语言编程求三位数各位之和,C趣味程序(二)(04)求三位阶乘和数

    1.5 阶乘和数 一个正整数如果等于组成它的各位数字的阶乘之和,该整数称为阶乘和数. 例如,145=1!+4!+5!,则145是一个三位阶详细和数.是否还有其它三位阶乘和数?共有多少个阶乘和数? 1. ...

  9. python数字组合算法_python - 简单算法题 - 求三位数组合

    求三位数组合 lst = [3, 6, 2, 7] 这四个数字能组成多少个互不相同且无重复数字的三位数?比如362算一个,326算一个,请逐个输出他们 思路分析 从4个数里面取3个数,且不重复,然后进 ...

最新文章

  1. 2202年了,AI还是不如猫!图灵奖得主Yann LeCun:3大挑战依然无解
  2. C# Regex(2)
  3. 计算机汉字救亡运动简史丨视频
  4. c html canvas,HTML5 canvas
  5. Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://sch
  6. BAD APPLE C++控制台程序
  7. JAVA:说说你对序列化的理解
  8. SpringBoot使用@Scheduled创建定时任务
  9. var,object和dynamic
  10. Sparrow - Distributed, Low Latency Scheduling
  11. 后端技术栈学习路线与面试技巧指北
  12. 超详细java中的ClassLoader详解
  13. 轻松处理 针式打印机故障解决方法
  14. 实测realme手机丢失定位功能
  15. MDUKEY超级节点配置及指南(简)
  16. Java学习之面向对象
  17. 户外直播信号差,老出现卡顿现象怎么办?
  18. 【工具】1343- NVS —— js 实现的node版本管理工具
  19. raid0,raid1,raid5
  20. 十进制负数转化成二进制

热门文章

  1. 52GB!网曝网易邮箱数据又泄露?还是葫芦娃?
  2. matlab2017b怎么进行sil测试,用 SIL 和 PIL 仿真测试生成的代码
  3. jmeter压测指标
  4. System.Diagnostics.Debug和System.Diagnostics.Trace
  5. 大型网络游戏服务器要具备什么条件
  6. html+css+js实现的前端模板
  7. hpp文件和h文件有什么区别
  8. IOS ReplayKit RPScreenRecorder 的屏幕录制功能
  9. 真是无语二手房可以这样逃税
  10. 仿真4. 仿真平台架构设计