MathLabs

第1問

関数 f(n)f(n) は正の整数上で定義され、非負整数値をとる。f(2)=0f(2)=0、f(3)>0f(3)>0、f(9999)=3333f(9999)=3333 であり、任意の m,nm,n に対して f(m+n)−f(m)−f(n)=0 or 1.f(m+n)-f(m)-f(n)=0 \text{ or } 1. が成り立つ。f(1982)f(1982) を求めよ。
ステップ 2/7: 追加の仮定から f(3)f(3) が確定する
ざっくり言うと

ff の最初の二つの値が分かれば、次の値はほぼ決まってしまう。あとは f(3)>0f(3)>0 という追加条件で二つの候補から一つを選ぶだけでよい。

f(3)−f(2)−f(1)∈{0,1} ⇒ f(3)∈{0,1} ⇒ f(3)=1f(3)-f(2)-f(1)\in\{0,1\} \ \Rightarrow\ f(3)\in\{0,1\} \ \Rightarrow\ f(3)=1
詳しい解説

m=2,n=1m=2,n=1 として関数の条件を適用すると f(3)−f(2)−f(1)∈{0,1}f(3)-f(2)-f(1)\in\{0,1\}。f(2)=f(1)=0f(2)=f(1)=0 なので f(3)∈{0,1}f(3)\in\{0,1\} となり、仮定 f(3)>0f(3)>0 により f(3)=1f(3)=1 が確定する。