Python :: Aufgabe #238 :: Lösung #2

3 Lösungen Lösungen öffentlich
#238

Ägyptische Bruchrechnung

Fortgeschrittener - Python von hollst - 22.12.2019 um 22:50 Uhr
Gegeben seien zwei positive Ganzzahlen Z (wie Zaehler) und N (wie Nenner) mit N > Z
und Z sei kein Teiler von N.

Der Bruch Z/N ist immer als Summe der Kehrwerte positiver Ganzzahlen (Stammbrüche) darstellbar,
wobei es meist mehrer Möglichkeiten der Darstellung gibt.

Beispiele:

5/6 = 1/2 + 1/3 = 1/2 + 1/4 + 1/12 = 1/2 + 1/4 + 1/13 + 1/156 = ...

17/39 = 1/3 + 1/10 + 1/390 = ...

Man schreibe ein Programm, das Z und N entgegennimmt und die Zahlen der Stammbrüchesumme mit den wenigsten Summanden ausgibt.

Also obere Beispiele:

Input 5 und 6, Output 2 und 3,
Input 17 und 39, Output 3, 10 und 390.

Viel Spaß.
#2
vote_ok
von kaschperl (400 Punkte) - 20.02.2020 um 19:09 Uhr
Quellcode ausblenden Python-Code
from decimal import Decimal

zaehler = Decimal(input('Zähler: '))
nenner = Decimal(input('Nenner: '))

if zaehler > nenner:
    print("Kein Ergebnis! Zähler muss kleiner als der Nenner sein!")
else:
    test = 1
    while zaehler > 0:
        test = test + 1
        if zaehler / nenner >= 1 / test:
            print(test)
            zaehler = zaehler - (nenner / test)
            test = 1

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben