返回题库

AIME 1984 · 第 7 题

AIME 1984 — Problem 7

专题
Contest Math
难度
L4
来源
AIME

题目详情

Problem

The function ff is defined on the set of integers and satisfies f(n)={n3if n1000f(f(n+5))if n<1000f(n)=\begin{cases} n-3&\text{if}\ n\ge 1000\\ f(f(n+5))&\text{if}\ n<1000\end{cases}

Find f(84)f(84).

解析

Solution 1

Define fh=f(f(f(f(x))))f^{h} = f(f(\cdots f(f(x))\cdots)), where the function ff is performed hh times. We find that f(84)=f(f(89))=f2(89)=f3(94)=fy(1004)f(84) = f(f(89)) = f^2(89) = f^3(94) = \ldots f^{y}(1004). 1004=84+5(y1)y=1851004 = 84 + 5(y - 1) \Longrightarrow y = 185. So we now need to reduce f185(1004)f^{185}(1004).

Let’s write out a couple more iterations of this function:

f185(1004)=f184(1001)=f183(998)=f184(1003)=f183(1000)=f182(997)=f183(1002)=f182(999)=f183(1004)\begin{aligned}f^{185}(1004)&=f^{184}(1001)=f^{183}(998)=f^{184}(1003)=f^{183}(1000)\\ &=f^{182}(997)=f^{183}(1002)=f^{182}(999)=f^{183}(1004)\end{aligned} So this function reiterates with a period of 2 for xx. It might be tempting at first to assume that f(1004)=1001f(1004) = 1001 is the answer; however, that is not true since the solution occurs slightly before that. Start at f3(1004)f^3(1004):

f3(1004)=f2(1001)=f(998)=f2(1003)=f(1000)=997f^{3}(1004)=f^{2}(1001)=f(998)=f^{2}(1003)=f(1000)=\boxed{997} Note that we should also be suspicious if our answer is 10011001- it is a 44-digit number, and we were not asked to, say, divide our number by 1313.

Solution 2

We start by finding values of the function right under 10001000 since they require iteration of the function.

f(999)=f(f(1004))=f(1001)=998f(999)=f(f(1004))=f(1001)=998 f(998)=f(f(1003))=f(1000)=997f(998)=f(f(1003))=f(1000)=997 f(997)=f(f(1002))=f(999)=998f(997)=f(f(1002))=f(999)=998 f(996)=f(f(1001))=f(998)=997f(996)=f(f(1001))=f(998)=997 Soon we realize the f(k)f(k) for integers k<1000k<1000 either equal 998998 or 997997 based on its parity. (If short on time, a guess of 998998 or 997997 can be taken now.) If kk is even, f(k)=997f(k)=997. If kk is odd, f(k)=998f(k)=998. 8484 has even parity, so f(84)=997f(84)=997. The result may be rigorously shown through induction.

Solution 3

Assume that f(84)f(84) is to be performed n+1n+1 times. Then we have

f(84)=fn+1(84)=f(fn(84+5))f(84)=f^{n+1}(84)=f(f^n(84+5)) In order to find f(84)f(84), we want to know the smallest value of

fn(84+5)1000f^n(84+5)\ge1000 Because then

f(84)=f(fn(84+5))=(fn(84+5))3f(84)=f(f^n(84+5))=(f^n(84+5))-3 From which we'll get a numerical value for f(84)f(84).

Notice that the value of nn we expect to find is basically the smallest nn such that after f(x)=f(f(x+5))f(x)=f(f(x+5)) is performed n2\frac{n}{2} times and then f(x)=x3f(x)=x-3 is performed back n2\frac{n}{2} times, the result is greater than or equal to 10001000.

In this case, the value of nn for f(84)f(84) is 916916, because

84+9162591623=1000f916(84+5))=100084+\frac{916}{2}\cdot5-\frac{916}{2}\cdot3=1000\Longrightarrow f^{916}(84+5))=1000 Thus

f(84)=f(f916(84+5))=f(1000)=10003=997f(84)=f(f^{916}(84+5))=f(1000)=1000-3=\boxed{997} ~ Nafer

Solution 4 (really a solution, DO THIS ON A REAL TEST)

Open up a coding IDE and use recursion to do this problem. The idea is to define a function (I called it ff, you can call it whatever you want) with parameter nn (or 84 in this case) and say if nn is greater than 1000, then return n3n-3. Else, return f(f(n+5))f(f(n + 5)). Python code:

def f(n):
    if n >= 1000:
        return n - 3
    else:
        return f(f(n + 5))
print(f(84))

Or [python]def f(n):

if n < 1000:
     return f(f(n + 5))
else:
    return n-3

print(f(84))[/python]

~ NL008, Sernegeti22