Eine Siebeneckzahl ist eine Zahl, die als Siebeneck dargestellt werden kann. Eine Siebeneckzahl kann als Kombination aufeinanderfolgender Siebeneckschichten dargestellt werden (siehe folgende Abbildungen).
Die erste siebeneckige Zahl ist 1. Daher kann es durch einen kleinen Punkt dargestellt werden.Die zweite siebeneckige Zahl ist 7, die durch ein Siebeneck dargestellt werden kann.
Die dritte Siebeneckzahl ist 18, die durch ein Siebeneck dargestellt und mit einer durchgehenden Siebeneckschicht kombiniert werden kann.
Die vierte siebeneckige Zahl ist 34. Es kann wie oben gezeigt als Siebeneck plus zwei aufeinanderfolgende Schichten von Siebenecken dargestellt werden, was 34 ergibt.
Ähnliche Konzepte werden für weitere siebeneckige Zahlen verwendet. Der gleichen Logik folgend sind die ersten paar siebeneckigen Zahlen
1, 7, 18, 34, 55, 81, 112, 148, 189, 235, 286, 342, 403…
In diesem Problem besteht unsere Aufgabe darin, eine beliebige positive Zahl N als Eingabe zu geben und die N-te Siebeneckzahl als Ausgabe auszugeben.Zum Beispiel
EINGABE: N=6
Ausgabe: 81
EINGABE: N=9
Ausgabe: 189
Schauen wir uns nun den Algorithmus an, den wir zur Lösung dieses Problems verwenden werden.Algorithmus
ausgedrückt werden
$$Heptagonal_{n}:=:frac{n}{2}(5n:-:3)$$Wenn wir uns diesen Ausdruck genau ansehen, hat jede siebeneckige Zahl die folgende Form
$frac{n}{2}(5n:-:3)$, wobei n die Anzahl der siebeneckigen Zahlen darstellt.
Lassen Sie es uns anhand eines Beispiels besser verstehen.
Für n=1 ist $frac{1}{2}(5:times:1:-:3)$= 1, was die erste siebeneckige Zahl ist.
Für n=2 ist $frac{2}{2}(5:times:2:-:3)$= 7, was die zweite siebeneckige Zahl ist.
Wenn n=3, $frac{3}{2}(5:times:3:-:3)$= 18, was die dritte siebeneckige Zahl ist.
Lassen Sie uns nun den Fall von n=8 überprüfen. Das von $frac{8}{2}(5:times:8:-:3)$ erhaltene Ergebnis ist 148, was tatsächlich die achte siebeneckige Zahl in der Folge der siebeneckigen Zahlen ist.
Da wir mit dem obigen Ausdruck jede n-te siebeneckige Zahl erhalten können, verwenden wir in unserer Methode diesen Ausdruck, um die n-te siebeneckige Zahl zu berechnen, wobei n jede positive Zahl sein kann.
Methode
Hinweis − Wir verwenden den Gleitkomma-Datentyp anstelle des Ganzzahl-Datentyps, um Fehler aufgrund von Dezimalwerten bei der Berechnung der N-ten siebeneckigen Zahl mithilfe der obigen Formel zu vermeiden. Die chinesische Übersetzung von
Beispiel
#include <bits/stdc++.h> #include <iostream> using namespace std; //function to calculate nth heptagonal number using formula n/2(5n-3) float heptagonal(float N){ float ans= (N/2)*((5*N) - 3); //to store nth heptagonal number return ans; } int main(){ float N=5; //input float a=heptagonal(N); //store the answer in a variable N=13; float b=heptagonal(N); cout<<a<<endl<<b<<endl; //print the answer return 0; }
55 403
Zeitliche Komplexität: O(1), weil es nur konstante Zeit benötigt.
Raumkomplexität: O(1), da kein zusätzlicher Raum verwendet wird.
FazitIch hoffe, Sie fanden diesen Artikel hilfreich beim Erlernen des Konzepts zum Drucken der n-ten siebeneckigen Zahl, die von einem beliebigen Benutzer eingegeben wurde.
Das obige ist der detaillierte Inhalt vonSiebeneckzahl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!