[R3B]k次幂求和
// 14. [R3B]k次幂求和.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
[R3B]k次幂求和
原题地址:https://bs.daimayuan.top/p/14
题目描述
给定一个长度为 n 的整数数组 A,求 sum(i=1 to n) Ai^k,对 998244353 取模。
提示:
a^b = a * a * ... * a(共 k 个 a 相乘),称为 a 的 b 次幂,其中 a 称为底数,b 称为指数。
sum(i=1 to n) ai = a1 + a2 + ... + an。
输入格式
第一行包含两个整数 n 和 k,分别表示数组长度和幂的指数。
第二行包含 n 个整数,表示数组 A。
输出格式
输出一个整数,表示 sum(i=1 to n) Ai^k,对 998244353 取模。
样例输入
4 3
1 2 3 4
样例输出
100
样例解释
1^3 + 2^3 + 3^3 + 4^3 = 1 + 8 + 27 + 64 = 100。
数据范围与提示
对于 50% 的数据,Ai <= 1000。
对于 100% 的数据,1 <= n <= 100,1 <= k <= 100,1 <= Ai <= 10^9。
*/
#include <iostream>
using namespace std;
int n, k;
const long long MOD = 998244353;
long long quickmi(long long a, long long b) {
long long res = 1;
while (b) {
if (b & 1) {
res = res * a % MOD;
}
a = a * a % MOD;
b >>= 1;
}
return res;
}
int main()
{
cin >> n >> k;
long long ans = 0;
for (int i = 0; i < n; i++) {
int t; cin >> t;
ans += quickmi(t, k);
ans %= MOD;
}
cout << ans << endl;
return 0;
}
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
浙公网安备 33010602011771号