【C系列4.8】函数训练之被甩 1976
Time Limit: 3 s Memory Limit: 32 MB
Submission:330 AC:111 Score:10.00
Description
cyn小朋友今天看了一个小故事,讲的是zp同学在大学中被各种女生甩的惨痛经历,故事上说zp在大学第一天就和一个女神级别的大一新生表白了,然后被华丽丽的拒绝了,第二天又表白了m个女生,再次被华丽丽的拒绝了m次,从那一天开始,他坚持不懈地和各种女生表白,每天表白的次数是前一天的次数加上再前一天的次数的两倍,终于在30天后被一位女生接受了,请问他在第30天被拒绝了几次?
Input
第一行有一个整数T,代表有几组测试样例。
接下来的T行每行有一个整数m(1 <= m <= 100000),代表第二天的被拒绝的次数
Output
对于每一个测试样例输出他被拒绝的次数p。
Samples
input:
3
1
2
3
output:
357913941
536870912
715827883
Hint
输入,输出,请用%lld
下附AC代码:
#include<stdio.h>
long long int p(int n);
int main() {int t;scanf("%d", &t);while (t--) {getchar();long long int n;scanf("%lld", &n);printf("%lld\n", p(n));}return 0;
}
long long int p(int n) {int i = 0;long long int c[31] = {0};c[1] = 1;c[2] = n;for (i = 3; i <= 30; ++i) {c[i] = c[i - 1] + 2 * c[i - 2];}return c[30];
}
原题链接:http://acm.hznu.edu.cn/OJ/problem.php?cid=1092&pid=9