【问题描述】
最近cyz一直在研究一个函数,函数是这样的
If X<=100 F[x]=F[F[x+11]]
If X>=101 F[x]=X-10
现在cyz需要知道一些值对应的函数值。
【输入格式】
输入文件包括若干行(最多2500000行),每行一个正整数X(X<=1000000)。
最后一行以0结束.注意0不是要求的X,只是一个结束标记。
【输出格式】
对应每个要求的X值,每行输出一个对应的F[x]函数值。
【样例输入】
100
101
0
【样例输出】
91
91
【数据规模】
对于10%以内的数据,X<=10
对于30%以内的数据,X<=100
对于100%以内的数据,按题目描述
#include<bits/stdc++.h>
using namespace std;
const int maxn=2500010;
int x[maxn],m=0,a = 1;
int f(int b)
{
if(b<=100) return f (f (b + 11));
if(b>=101) return (b-10);
}
int main()
{
freopen("f.in","r",stdin);
freopen("f.out","w",stdout);
while(scanf ("%d", &a) == 1 && a)
printf ("%d\n", f(a));
return 0;
}