24点计算器(console program including C# source)
Description:
没别的办法,只有把各种可能都计算一遍,然后得到能计算出24的表达式,并且尽可能的排除掉重复的表达式
假设有a b c d四个数,操作符用op代替,则有(a op b) op (c op d) 或 ((a op b) op c) op d 两种形式
程序用C# 2.0开发,支持计算 8 / (3 - 8 / 3) = 24 这种
这个程序最伤脑筋的地方就是如何去掉重复的结果,我自己改写了GetHashCode()方法,以尽可能的让重复的表达式计算出相同的值出来
Syntax:
Calc24 [num1 [num2 [num3 [num4]]]]
Example:
Calc24 3 3 8 8
Calc24 3 3 8
Calc24 3 3
Calc24 3
Calc24
若省略参数,则程序自动随机生成一个24以内的数代替
Download:
Click here to download.
Appendix:
以下是一些答案比较唯一的题目,你可以试试:
1 1 3 4
1 3 4 6
1 3 9 10
1 3 13 16
1 4 7 9
1 5 5 5
1 5 7 9
1 5 8 13
1 5 9 9
1 5 11 16
1 6 7 9
1 7 7 9
1 7 7 12
1 7 7 17
1 9 11 11
1 9 11 13
2 2 5 8
2 2 11 11
2 3 10 10
2 4 7 7
2 4 10 10
2 5 5 10
2 5 6 9
2 5 7 9
2 16 18 19
3 3 3 3
3 3 7 7
3 3 8 8
3 3 8 201
3 3 8 208
3 3 23 207
3 5 6 77
4 4 7 7
4 4 10 10
4 5 6 9
4 16 18 19
5 5 18 77
5 10 10 13
5 10 10 17
6 6 8 8
7 8 9 10
7 8 9 12
7 8 10 10
7 8 10 11
9 9 9 12
9 11 12 13
11 13 17 19
没别的办法,只有把各种可能都计算一遍,然后得到能计算出24的表达式,并且尽可能的排除掉重复的表达式
假设有a b c d四个数,操作符用op代替,则有(a op b) op (c op d) 或 ((a op b) op c) op d 两种形式
程序用C# 2.0开发,支持计算 8 / (3 - 8 / 3) = 24 这种
这个程序最伤脑筋的地方就是如何去掉重复的结果,我自己改写了GetHashCode()方法,以尽可能的让重复的表达式计算出相同的值出来
Syntax:
Calc24 [num1 [num2 [num3 [num4]]]]
Example:
Calc24 3 3 8 8
Calc24 3 3 8
Calc24 3 3
Calc24 3
Calc24
若省略参数,则程序自动随机生成一个24以内的数代替
Download:
Click here to download.
Appendix:
以下是一些答案比较唯一的题目,你可以试试:
1 1 3 4
1 3 4 6
1 3 9 10
1 3 13 16
1 4 7 9
1 5 5 5
1 5 7 9
1 5 8 13
1 5 9 9
1 5 11 16
1 6 7 9
1 7 7 9
1 7 7 12
1 7 7 17
1 9 11 11
1 9 11 13
2 2 5 8
2 2 11 11
2 3 10 10
2 4 7 7
2 4 10 10
2 5 5 10
2 5 6 9
2 5 7 9
2 16 18 19
3 3 3 3
3 3 7 7
3 3 8 8
3 3 8 201
3 3 8 208
3 3 23 207
3 5 6 77
4 4 7 7
4 4 10 10
4 5 6 9
4 16 18 19
5 5 18 77
5 10 10 13
5 10 10 17
6 6 8 8
7 8 9 10
7 8 9 12
7 8 10 10
7 8 10 11
9 9 9 12
9 11 12 13
11 13 17 19