一道有趣的数学题分析步骤

来源:互联网 发布:雷德利斯科特 知乎 编辑:程序博客网 时间:2024/04/30 07:51

123456789这九个按顺序排列的数,要求在它们之间插入若干个+-*/ ,使其结果正好等于100如: 1*2*3*4+5+6+7*8+9=100

解析过程(进攻参考):

1-------2------3------4------5------6------7------8------9

9个数字共有8个间隙,可以置入的符号有+-*/#5个符号,分别代表加减乘除连接物种操作。

下面我们采用五进制数来进行遍历,分别求解是否等于100

那么有多少种情况呢?

8个位置,每个位置是相对独立的,任何一个位置的选择不影响其他位置的选择。

所以共需要5^8个选择。

下面开始进行程序的设计:

我们为了便于计算,采用高精度的方法进行模拟5^8

Char num[8]={0};

采用函数进行对num每次++,重载运算符++

下面代码仅供参考,添加必要的逆波兰算法后即可进行判断。

 

  

 

原创粉丝点击