读书笔记之编程之美 - 4.10 数字哑谜和回文
2010-09-23 22:42
260 查看
好久没有写代码了,今天练习练习第二个问题,代码如下:
验证了一下思路,编码过程还是有很多问题的,也不是很优雅,但总算可以解出答案了。
21978 x 4 = 87912
扩展问题:
问题二:25 x 25 = 625
1: #include
2:
3: using namespace std;
4:
5: int main()
6: {
7: int m1, m2, m3, m4, m5;
8: int n1, n2, n3, n4, n5;
9:
10: for (m1 = 0; m1 < 10; m1++)
11: {
12: for (m2 = 0; m2 < 10; m2++)
13: {
14: if (m2 == m1) continue;
15: for (m3 = 0; m3 < 10; m3++)
16: {
17: if (m3 == m2 || m3 == m1) continue;
18: for (m4 = 0; m4 < 10; m4++)
19: {
20: if (m4 == m3 || m4 == m2 || m4 == m1) continue;
21: for (m5 = 0; m5 < 10; m5++)
22: {
23: if (m5 == m4 || m5 == m3 || m5 == m2 || m5 == m1) continue;
24:
25: for (int n = 2; n < 10; n++)
26: {
27: if (m1 * n > 9)
28: {
29: continue;
30: }
31:
32: n1 = m5 * n % 10;
33: if (n1 != m1)
34: {
35: continue;
36: }
37: n2 = m5 * n / 10 + m4 * n % 10;
38: if (n2 % 10 != m2)
39: {
40: continue;
41: }
42: n3 = m4 * n / 10 + m3 * n % 10 + n2 / 10 ;
43: if (n3 % 10 != m3)
44: {
45: continue;
46: }
47: n4 = m3 * n / 10 + m2 * n % 10 + n3 / 10;
48: if (n4 % 10 != m4)
49: {
50: continue;
51: }
52: n5 = m2 * n / 10 + m1 * n % 10 + n4 / 10;
53: if (n5 < 10 && n5 % 10 != m5)
54: {
55: continue;
56: }
57:
58: cout << m1 << m2 << m3 << m4 << m5 << " x " << n
59: << " = " << m5 << m4 << m3 << m2 << m1 << endl;
60: }
61: }
62: }
63: }
64: }
65: }
66: system("pause");
67: return 0;
68: }
验证了一下思路,编码过程还是有很多问题的,也不是很优雅,但总算可以解出答案了。
21978 x 4 = 87912
扩展问题:
问题二:25 x 25 = 625
相关文章推荐
- 编程之美:第四章 数字之趣 4.10数字哑谜和回文
- 编程之美:第四章 数字之趣 4.10_2数字哑谜和回文
- 编程之美-数字哑谜和回文方法整理
- 4.10 数字哑谜和回文
- 《编程之美》4.10数字哑谜和回文
- 编程之美 数字哑谜和回文小程序
- 数字哑谜和回文
- 数字哑谜和回文
- 挑战面试编程:回文串、回文数字
- c编程:判断10000以内的正整数哪些是回文数字。
- 数字哑谜和回文游戏
- 数字哑谜和回文
- 《编程之美》 Problem4_10 数字哑谜和回文
- 编程之美----数字回文
- Python核心编程---读书笔记:第5章 数字
- 挑战面试编程:回文串、回文数字
- 求一组数字最小回文
- Python核心编程---读书笔记:第7章 映射和集合类型
- Java并发编程艺术----读书笔记(二)
- 打印数字回文