以编程方式求解函数方程

Sha*_*itr 11 python math function

鉴于:

F(F(n))= n

F(F(n + 2)+ 2)= n

F(0)= 1

其中n是非负整数.F(129)=?

我们如何以编程方式解决这类函数方程?我选择的编程语言是Python.

iva*_*cho 5

功能方程,就其最一般的术语而言,真的很难.几乎每个国际数学竞赛都有其中之一,通常看起来像你写的一样无辜,这绝非巧合.解决它们的方法从简单归纳到无限维Banach空间分析不等,并且解决它们的通用编程方法是不太可能的.

在这种特殊情况下,这是一个直截了当的方法:

假设对于任何两个整数m,n,我们有F(m)= F(n)= k.但是m = F(F(m))= F(k)= F(F(n))= n:因此m = n并且F在两个不同的输入上从不采用相同的值.但我们知道F(F(n))= n = F(F(n + 2)+2) - 因此F(n)和F(n + 2)+2必须是相同的数字 - 也就是说,F(n + 2)== F(n)-2 == F(n-2)-4 = ....... 现在我们知道F(0)= 1,所以F(1)= F(F(0))= 0.但是F(129)= F(127) - 2 = F(125) - 4 = ... = F(1) - 128 = -128

所以有你的解决方案 - 但是不存在用于解决任何变化的机械算法.