枚举法_寻找三位数
2015-11-24 21:56
211 查看
题目:将数字 1~ 9 分成 3 个三位数,要求第 2 个三位数是第1个三位数的两倍,第3个三位数是第1个的三倍。即假定m为第 1个三位数,则第2个恰好为2*m, 第3个为 3*m,请输出这几个三位数。
输入:第一个三位数的数字
输出:满足题目条件的所有三位数
下面展示:超级暴力的枚举算法:
基本思路:
首先判断一个数的每一位都不同,同时每一位不为0,同时还要满足 第 2 个三位数是第1个三位数的两倍,第3个三位数是第1个的三倍
在判断3个3位数每一位都不相同。全部采用IF语句,特别适合新手看。
然后在循环的时候,起始的数应该是123,结束的数应该是987
输入:第一个三位数的数字
输出:满足题目条件的所有三位数
下面展示:超级暴力的枚举算法:
基本思路:
首先判断一个数的每一位都不同,同时每一位不为0,同时还要满足 第 2 个三位数是第1个三位数的两倍,第3个三位数是第1个的三倍
在判断3个3位数每一位都不相同。全部采用IF语句,特别适合新手看。
然后在循环的时候,起始的数应该是123,结束的数应该是987
package 三位数; public class 三位数 { public static void main(String[] args) { int a = 0; //三个三位数 int b = 0; int c = 0; for (int i = 123; i <= 987; i++) { int[] a1 = { 0, 0, 0 }; for (int j = 123; j <= 987; j++) { int[] b1 = { 0, 0, 0 }; for (int k = 123; k <= 987; k++) { int[] c1 = { 0, 0, 0 }; a = i; b = j; c = k; if (c == (3 * a) && b == (2 * a)) { a1[0] = a / 100; //分别表示a、b、c的每一位 a1[1] = (a % 100) / 10; a1[2] = a % 10; b1[0] = b / 100; b1[1] = (b % 100) / 10; b1[2] = b % 10; c1[0] = c / 100; c1[1] = (c % 100) / 10; c1[2] = c % 10; if (a1[0] != a1[1] && a1[0] != a1[2] && a1[1] != a1[2] && b1[0] != b1[1] && b1[0] != b1[2] && b1[1] != b1[2] && c1[0] != c1[1] && c1[0] != c1[2] && c1[1] != c1[2] && a1[0] != 0 && a1[0] != 0 && a1[1] != 0 && b1[0] != 0 && b1[0] != 0 && b1[1] != 0 && c1[0] != 0 && c1[0] != 0 && c1[1] != 0) { if (a1[0] != b1[0] && a1[0] != b1[1] && a1[0] != b1[2] && a1[1] != b1[0] && a1[1] != b1[1] && a1[1] != b1[2] && a1[2] != b1[0] && a1[2] != b1[1] && a1[2] != b1[2] && a1[0] != c1[0] && a1[0] != c1[1] && a1[0] != c1[2] && a1[1] != c1[0] && a1[1] != c1[1] && a1[1] != c1[2] && a1[2] != c1[0] && a1[2] != c1[1] && a1[2] != c1[2] && b1[0] != c1[0] && b1[0] != c1[1] && b1[0] != c1[2] && b1[1] != c1[0] && b1[1] != c1[1] && b1[1] != c1[2] && b1[2] != c1[0] && b1[2] != c1[1] && b1[2] != c1[2]) { System.out.println(a + " " + b + " " + c); } } } } } } } } /* 运行结果; 192 384 576 219 438 657 273 546 819 327 654 981 */
相关文章推荐
- 欢迎使用CSDN-markdown编辑器
- SQL学习笔记(2)
- tushare
- JVM CMS 常用参数配置
- 进程控制(三)
- C#中判断系统的架构(32位,还是64位)
- 160个CrackMe-1-Acid_burn
- Mysql架构
- Linux Bash 字符串/布尔/文件操作符
- hdoj Surround the Trees 1392 (凸包)
- Easing圆环动画
- sudo tcp_wrappe
- Introduce to algorithm--------pseudo code to C/C++ code (chapter 24)
- 抛弃PHP,WordPress.com以JavaScript重写
- 第五届全国职工技能大赛-计算机程序设计员决赛总结
- Java邮件开发---基本概念
- 从大数据菜鸟走上大师的历程 Scala 第五讲 Array [此博文包含图片]
- codeforces 596E Wilbur and Strings(DFS)
- 32.CELL⾃适应⾼度
- android112 c代码打印日志,c反编译调用java