把该取模的地方都取模了,不知道哪里炸了 /kk
Code:
#include <bits/stdc++.h>
using namespace std;
unsigned long long ans;
unsigned long long Mod;
int main () {
Mod = 1e9 + 7;
unsigned long long r;
scanf("%llu", &r);
for (unsigned long long i = 0; i * i <= r; i++) {
unsigned long long I = i % Mod;
unsigned long long row = sqrt(r - I * I);
row %= Mod;
unsigned long long ans1 = row * (row + 1) * (2 * row + 1) / 6;
ans1 %= Mod;
unsigned long long ans2 = I * I;
ans2 %= Mod;
ans2 *= row;
ans2 %= Mod;
ans += (ans1 + ans2);
ans %= Mod;
}
printf("%llu", ans * 4 % Mod);
return 0;
}