有TLE,有wa
  • 板块P1630 求和
  • 楼主damuzhi
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/16 21:08
  • 上次更新2023/11/16 22:44:02
查看原帖
有TLE,有wa
1127424
damuzhi楼主2023/11/16 21:08
#include <bits/stdc++.h>

using namespace std;



long long fastpow(long long a, long long b)
{
    long long ans = a;
    ans %= 10000;
    long long kl = 1;
    while (b > 2)
    {
        if (b % 2 == 0)
        {
            // ans *= a;
            ans *= ans;
            ans %= 10000;
            b /= 2;
            kl++;
        }
        else
        {
            ans *= ans;
            ans %= 10000;
            b -= kl;
            kl++;
        }
    }
    ans *= a;
    ans %= 10000;
    return ans;
}

int  main() {
    
    long long n;
    long long a,b;
    long long d = 0;
    cin >> n;
    long long nn[n];
    for(int i = 0; i < n; i++){
        cin >> a >> b;
        for(int j = 1; j <= a; j++){

        d += fastpow(j,b);

        d %= 10000;
        }
        nn[i] = d;
        d = 0;
    }
    for(int i = 0; i < n; i++){
        cout << nn[i] << endl;
    }
    return 0;
}
2023/11/16 21:08
加载中...