出题人这样不好吧
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
作为编协的第一次月赛,肯定是要有防AK(ALL KILL)的题目的,只会Fibnacci数的出题人绞尽脑汁,没能想出一道难题,没办法只好在题面上做一些手脚(加密)。 其中有一道题题面是这样的: hjxhs ia dvwpude z,he sn f snrzad deppahe, tbcm wytj ir sm zvdpzdxiq uus tjc ta n dijphqer rclu taw yl p. 比赛时,XX神对题面研究了两个多小时,终于找到一点点规律,破解出了前4个单词hjxhs ia dvwpude z,是given an integer n。但是比赛的时间已经不多了,XX神需要你的帮助。请帮他解密题面,并帮他ac了这个题。
Input:
输入包含多组数据(EOF)。对于每组数据,输入一个数字n(1<=n<=100000);
Output:
对于每组数据,输出答案。
Sample Input:
1
Sample Output:
1
这道题很水,但第一眼看时有点懵逼了,然后找到关键词Fibnacci数,然后就可以找到规律了。翻译题目如下:
1 *#include<bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 char s[1000]; 7 int a[10000]; 8 a[1]=a[2]=1; 9 for(int j=3;j<=999;j++) 10 a[j]=(a[j-1]+a[j-2])%26; 11 int j=1; 12 gets(s); 13 for(int i=0;i<strlen(s);i++) 14 { 15 if((s[i]==' ')||(s[i]==',')||(s[i]=='.')) 16 { 17 printf("%c",s[i]); 18 continue; 19 } 20 char ch=s[i]-a[j]; 21 if(ch>'z') 22 ch-=26; 23 else if(ch<'a') 24 ch+=26; 25 j++; 26 printf("%c",ch); 27 } 28 printf(" "); 29 return 0; 30 }
然后题目就很简单了,就是从1加到n;
AC代码如下:
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 long long n,num; 7 while(~scanf("%lld",&n)) 8 { 9 num=0; 10 for(int i=0;i<=n;i++) 11 num+=i; 12 printf("%lld ",num); 13 } 14 return 0; 15 }