我们来看一道小学奥数5年级的题目:已知A * B = AB+A+B,则
1*9*9*9*…*9*9= ?
共10次运算。(学而思培优:数学思维训练,小学奥数5年级)
我们分析这道题,可以看出每次运算后的结果输出,都是作为后一次运算的输入。
我们先来看这道题的数学解法:
第一次运算:A=1,B=9
A * B = AB+A+B=1*9+1+9=1*(9+1)+9=10+9=19
第二次运算:A=19,B=9
A * B = AB+A+B=19*9+19+9=19*(9+1)+9=190+8=199
第三次运算:A=199,B=9
A * B = AB+A+B=199*9+199+9=199*(9+1)+9=1990+9=1999
。。。
按照这个规律可推算,第十次运算后的表达式的值为:19999999999
我们以Python为例,再来看这道题的编程解法:
#定义一个函数f,参数为a,b,返回值为题目给定的关系:a*b+a+b
def f(a,b):
return a*b+a+b
#按题目给定要求,把上一次运算的输出,作为下一次运算的输入,进行10次运算
a=1
for i in range(10):
a=f(a,9)
#打印结果
print(a)
>>>19999999999
数学和编程都有自己的规律和引人入胜的解法,小朋友,哪一个都需要好好体会哟!
|
|