NC218581. 数字金字塔
描述
输入描述
第一行一个正整数,表示测试组数。
接下来行,每行一个正整数
,表示求第
层到第
层的和。
输出描述
每行一个整数表示对取模后的结果。
示例1
输入:
3 2 6 1234
输出:
7 161 255237422
C++(clang++11) 解法, 执行用时: 45ms, 内存消耗: 2052K, 提交时间: 2021-03-22 19:45:03
#include<bits/stdc++.h> using namespace std; const int mod=998244353; int T,n; int main() { scanf("%d",&T); while(T--) { scanf("%d",&n); long long ans=4LL*n*n*n+3LL*n*n-n; ans/=6; printf("%d\n",ans%mod); } }
C 解法, 执行用时: 37ms, 内存消耗: 1396K, 提交时间: 2023-01-09 19:14:37
#include<stdio.h> int main() {long n,i,t; long long s; scanf("%d",&t); while(t--) {scanf("%ld",&n); s=0; for(i=1;i<=n;i++) { s=s+i*(2*i-1);} printf("%lld\n",s%998244353);}}
Python3 解法, 执行用时: 865ms, 内存消耗: 5540K, 提交时间: 2022-07-03 11:47:19
for _ in range(int(input())): x=int(input()) print(x*(x+1)*(4*x-1)//6%998244353)