站外题求助
计算题
小明写作业时,发现了其中一题有这样一个规律:当题目中给出一个数字 n
时,答案就是 ((...((1×1+2)×2+3)×3+...)+n)×n
。
例如 n=5
时,答案就是 ((((1×1+2)×2+3)×3+4)×4+5)×5=645
。
小明写了一段代码来计算这个式子:
int n, ans = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
ans = ans + i;
ans = ans * i;
}
cout << ans;
但是小明发现,当 n
比较大的时候,这个代码算不出正确结果了,你能帮帮他吗?
输入格式
一行一个正整数 n
。
输出格式
一行一个数字,表示答案。
样例输入1
5
样例输出1
645
样例输入2
20
样例输出2
13226626638496159980
数据范围
对于 100%
的数据,保证 1≤n≤200
。