Может ли кто-нибудь дать мне представление об эффективном алгоритме для больших n (например, 10^10) найти сумму вышеуказанных серий?Сумма ряда: 1^1 + 2^2 + 3^3 + ... + n^n (mod m)
Mycode становится klilled при п = 100000 т = 200000
#include<stdio.h>
int main() {
int n,m,i,j,sum,t;
scanf("%d%d",&n,&m);
sum=0;
for(i=1;i<=n;i++) {
t=1;
for(j=1;j<=i;j++)
t=((long long)t*i)%m;
sum=(sum+t)%m;
}
printf("%d\n",sum);
}
можно использовать java? – vpram86
Aviator: Эффективные алгоритмы обычно не зависят от языка. Не имеет значения, является ли это Java или C (за исключением, возможно, линейного фактора во время выполнения). – Joey
@ Джоханнес: Я понимаю. Я думал о том, что предлагаю BigInteger. Thats why ask – vpram86