标签:tps math https std printf 是你 scanf print http
1.开始每天抓到的宝可梦数量为前一天的数量加\(1\),直到\(n\)为止,则可得数列
1,2,3,...,n-2,n-1,n
这是首项为\(1\),公差为\(1\)的等差数列。
2.到\(n\)之后每天抓到的宝可梦数量为前一天的数量减\(1\),直到\(1\)为止,则可得数列
n,n-1,n-2,...,3,2,1
这是首项为\(n\),公差为\(-1\)的等差数列。
3.将两数列合并得
1,2,3,...,n-1,n-2,n,n-1,n-2,...,1
根据等差数列求和公式:\(\frac{(a_1+a_n)×n}{2}\)得宝可梦的总和:\(\frac{(1+n)×n}{2}+\frac{(n+1)×n}{2}-n=n^2\)。注意\(n\)只在数列中出现一次,但根据公式会加两次,因此使用两遍求和公式后再减去\(n\)就是答案。
#include<cstdio>
long long n;
int main(){
scanf("%lld",&n);
printf("%lld",n*n);
}
Comet OJ 1023 [欢乐赛]第001话 宝可梦,就决定是你了!题解
标签:tps math https std printf 是你 scanf print http
原文地址:https://www.cnblogs.com/LHYLHY/p/11918910.html