Springe zum Inhalt →

Von Pferden und Ochsen und 1770 Talern

Das aktuelle SPON-Rätsel der Woche beschäftigt sich diesmal mit einer Aufgabenstellung, die auf Leonard Euler zurückgeht.

„Ein Amtmann kauft Pferde und Ochsen zusammen für 1770 Taler. Für ein Pferd zahlt er 31 Taler, für einen Ochsen aber 21 Taler. Wie viel sind es Pferde und Ochsen gewesen?“

Der Amtmann ist natürlich nur an ganzen Pferden und Ochsen interessiert und möchte seine kompletten Taler ausgeben.

Im Gegensatz zur SPON-Lösung, die einen mathematischen Ansatz zeigt, möchte ich hier zeigen, wie ein paar Zeilen Programmcode zur Lösung führen können.

package main

import "fmt"

const (
  preisPferd = 31
  preisOchse = 21
)

func buyPferd (taler, pferde int) {
  if taler > preisPferd {
    taler -= preisPferd
    pferde++
    if taler % preisOchse == 0 {
      fmt.Printf("Pferde: %2d   Ochsen: %2d (Restgeld: %2d)\n",pferde, taler/preisOchse,taler-(taler/preisOchse*preisOchse))
    }
    buyPferd(taler, pferde)
  }
}

func main() {
  var taler = 1770
  var pferde int
   
  buyPferd(taler, pferde)
}

Lösung:

Pferde:  9   Ochsen: 71 (Restgeld:  0)
Pferde: 30   Ochsen: 40 (Restgeld:  0)
Pferde: 51   Ochsen:  9 (Restgeld:  0)

Veröffentlicht in Coding

Kommentaren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses Akismet to reduce spam. Learn how your comment data is processed.