Pchełki Python: Euler #16

Dziś króciutko: rozwiążemy sobie Problem Eulera numer 16: policzymy sumę wszystkich cyfr tysięcznej potęgi dwójki.

Dwójka podniesiona do tysięcznej potęgi to 10 715 086 071 862 673 209 484 250 490 600 018 105 614 048 117 055 336 074 437 503 883 703 510 511 249 361 224 931 983 788 156 958 581 275 946 729 175 531 468 251 871 452 856 923 140 435 984 577 574 698 574 803 934 567 774 824 230 985 421 074 605 062 371 141 877 954 182 153 046 474 983 581 941 267 398 767 559 165 543 946 077 062 914 571 196 477 686 542 167 660 429 831 652 624 386 837 205 668 069 376.

A oto i kod:

liczba, suma_cyfr = 2 ** 1000, 0
while liczba:
    suma_cyfr += liczba % 10
    liczba = liczba // 10
print(suma_cyfr)

Nie ma tu za wiele do omawiania, ale ponieważ nie mam chwilowo bardziej ekscytujących tematów…

liczba, suma_cyfr = 2 ** 1000, 0

Tutaj obliczamy sobie tysięczną potęgę dwójki (operator ** to w Pythonie potęgowanie), a także ustawiamy początkową sumę cyfr na zero.

while liczba:

Dopóki liczba jest dodatnia… (a tak naprawdę: dopóki liczba jest różna od zera…)

    suma_cyfr += liczba % 10

… zwiększ sumę cyfr o wartość ostatniej cyfry …

    liczba = liczba // 10

… po czym urżnij tę cyfrę (operator // to dzielenie całkowite)

print(suma_cyfr)

A na koniec wyświetl wynik.

Ile wyszło?

Wyszło 1366. Tyle wynosi suma cyfr tysięcznej potęgi dwójki. Możesz teraz spokojnie iść spać 😉

Autor: xpil

Po czterdziestce. Żonaty. Dzieciaty. Komputerowiec. Krwiodawca. Emigrant. Rusofil. Lemofil. Sarkastyczny. Uparty. Mól książkowy. Ateista. Apolityczny. Nie oglądam TV. Uwielbiam matematykę. Walę prosto z mostu. Gram na paru instrumentach. Lubię planszówki. Słucham bluesa, poezji śpiewanej i kapel a’capella. || Kliknij tutaj po więcej szczegółów ||

Dodaj komentarz

4 komentarzy do "Pchełki Python: Euler #16"

Powiadom o
avatar
Sortuj wg:   najnowszy | najstarszy | oceniany
Jaro
Gość

czy informatycy w pracy zajmują się zadaniami o takim stopniu trudności?

wpDiscuz