Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Goldener Schnitt (Schleifen)

Schreiben Sie ein Programm, das die ersten 30 Zahlen (n = 1 ... 30) der Serie {p^n}/{\sqrt{5}} ausgibt. Die Zahlen sollen vor der Ausgabe auf die nächste ganze Zahl auf- bzw. abgerundet werden. Dabei ist p das Verhältnis im Goldenen Schnitt: p = 1.61803398874989484820…. Berechnen Sie p^n sukzessive in der Schleife. Beginnen Sie mit pHochN = p und multiplizieren Sie pHochN in jedem Durchlauf mit p. Was sind das wohl für Zahlen in der gesuchten Serie?

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

4 Lösung(en)

public class Phi {
  public static void main(String args[]) {
      new Phi() . top();
  }

/**
 * Phi oder der goldene Schnitt
 */
  private void top() {
    double phi = 1.618033988749894D;
    double s5  = Math.sqrt(5.0);
    
    int i = 1;
    double phiHochN = phi;
    while(i < 31) {
        double result = phiHochN / s5;
        System.out.println(i + ". = " + Math.round(result));
        phiHochN = phiHochN * phi;
        i = i + 1;
    }  
  }
  
}  // end of class Phi
                
p = 1.61803398874989484820
s = 5.0 **(1/2)

pHochN = p
i = 1
while i < 31:
    result = pHochN / s
    print("{0}. = {1}".format(i, round(result)))
    pHochN = pHochN * p
    i = i + 1
                

Lösung von: Alex Groeg (Freies Lernen)

const PHI = 1.6180339887498948482;

function goldenRatio(n) {
  return Math.round(PHI ** n / Math.sqrt(5));
}

function nthFibonacci(n) {
  if (n == 1 || n == 2) return 1;
  let prevPrev = 1, prev = 1, cur;
  for (let i = 2; i < n; i++) {
      cur = prevPrev + prev;
      prevPrev = prev;
      prev = cur;
  }
  return cur;
}

let arr = [];
for (let i = 1; i <= 30; i++)
  arr.push([goldenRatio(i), nthFibonacci(i)]);

console.table(arr);

                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

// C++ 14 | VS-2022

#include <iostream>
#define SQRT_5 sqrt(5)
#define PHI (1 + SQRT_5) / 2

int main() {
    auto p_pow_n{ PHI };
	for (auto i{ 1 }; i < 31; i++) {
		std::cout << floor(p_pow_n / SQRT_5 + 0.5) << "\n";
		p_pow_n *= PHI;
	}
}
                

Lösung von: Jens Kelm (@JKooP)

Verifikation/Checksumme:

Das Resultat sind die Zahlen der Fibonacci-Reihe: 1, 1, 2, 3, 5, 8, ...

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.5
Schwierigkeit: k.A.
Webcode: 99id-v8un
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Zu Aufgabenblatt hinzufügen