¿Puede alguien darme una idea de un algoritmo eficiente para n grande (digamos 10^10) para encontrar la suma de las series anteriores?Suma de series: 1^1 + 2^2 + 3^3 + ... + n^n (mod m)
MyCode está consiguiendo klilled para n = 100.000 y M = 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);
}
¿puedes usar java? – vpram86
Aviador: algoritmos eficientes suelen ser independientes del idioma. Realmente no debería importar si esto es Java o C (excepto tal vez un factor lineal en el tiempo de ejecución). – Joey
@Johannes: lo entiendo. Pensé en sugerir BigInteger. Es por eso que se le preguntó – vpram86