048 – Eigenpotenzen

 

Die Reihe 11 + 22 + 33 + … + 1010 = 10405071317.

Finde die letzten zehn Ziffern der Reihe 11 + 22 + 33 + … + 10001000.

Lösung

Das Problem ist hier, dass wir die gesuchten Potenzen nicht ausrechnen können, da die Zahlen zu groß sind. Da aber nur die letzten zehn Ziffern interessant sind, können wir beim multiplizieren und addieren aber jeweils die Ziffern davor weglassen.

clc
clear all
tic

grenze = 1000;
ziffern = 10;
summe = 0;

for n = 1 : grenze
    summand = 1;
    for i = 1 : n
        summand = summand * n;
        if summand / 10^ziffern > 0
            summand = mod(summand, 10^ziffern);
        end
    end
    summe = summe + summand;
    if summe / 10^ziffern > 0
        summe = mod(summe, 10^ziffern);
    end
end

format long
summe

toc

Ergebnis: 9110846700
Rechenzeit: 0.230565 Sekunden

Ähnliche Artikel

Kommentar verfassen