无耻的出题人
Time Limit: 2000/1000MS (Java/Others) Memory Limit: 65536/32768KB (Java/Others)
Problem Description
听到X神要参加比赛,只会Fibnacci数的出题人被吓得哭晕在厕所。为了防止X神AK(ALL KILL)比赛题目,无耻的出题人只好在题面上做些手脚(加密)。其中一道题的题目描述如下:
hjxh dwh v vxxpde,mmo ijzr yfcz hg pbzrxdvgqij rid stl mc zspm vfvuu vb uwu spmwzh.
比赛的时候X神对题面研究了四个多小时,终于发现了一丝规律,并且破解出了前四个单词hjxh dwh v vxxpde对应是:give you a number。
但是比赛时间所剩不多,X神需要你的帮助(在解密题面之后帮他写一个可以ac的代码o(╯□╰)o)。
Input
输入包含多组数据。
每组数据一个数字 n, n在long long范围内。
Output
对于每组测试数据,输出答案。
Sample Input
1
2
3
4
5
-1
-2
Sample Output
1
2
3
4
5
1
2
Source
zju_xxx
题目就是第i个字母对应往前数斐波那契数第i项的字母
题目说了long long 范围内 不过long long 交上去wa了
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main()
{
// int fib[111] = {1,1};
// for(int i = 2;i<=100;i++) fib[i] = (fib[i-1] + fib[i-2]) % 26;
// char s[1111];
// gets(s);
// int sz = 0;
// for(int i=0;s[i];i++){
// if(s[i]<'a'||s[i]>'z') continue;
// s[i] = s[i] - fib[sz++];
// if(s[i]<'a') s[i] += 26;
// }
// for(int i=0;s[i];i++) cout<<s[i];
//
char s[50];
while(scanf("%s",s)!=EOF){
int sum = 0;
for(int i=0;s[i];i++) {
if(s[i]>='0'&&s[i]<='9') sum += s[i] - '0';
}
printf("%d\n",sum);
}
return 0;
}