1278问题: 珂朵莉、威廉和叹月的最初之兽
时间限制: 1 Sec 内存限制: 64 MB
提交: 3510 解决: 572
[提交][状态][讨论版]
题目描述
爱尔梅利亚把威廉吸引到了她自己——叹月的最初之兽的结界中。
威廉发现这个结界可以用一个奇怪的函数表示:
当 x <= 100 时,f(x) = f(f(x + 11));
否则,f(x) = x - 10。
苦恼的威廉发现自己根本不会算这个东西。 请你帮他算一下吧!
输入
多组输入。
第一行是一个数 n, 表示这组数据有 n 个数。(n <= 300000)
以下 n 行,表示 x (x 均为整数)。 ( - 1011 <= x <= 1011)
输出
对于每个输入 x ,输出一行一个数,表示 f(x) 的值。
样例输入
2
100
101
样例输出
91
91
提示
you'd better use "scanf" instead of "cin"
来源
珂学家 wym6912
ac代码:
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
while(n--){
long long x;
scanf("%lld",&x);
if(x>=101) printf("%lld\n",x-10);
else printf("91\n");
}
return 0;
}
解析数学化简:
你没有看错就是这么少,数学的魅力。
注意:f(x) = f(f(x + 11)); 这是两个ff。
x=18,f(18)=ff(18+11)>>f(18+11-10)>>f(19)
一条直线,一下ojbk。