Heim > Backend-Entwicklung > C++ > Hauptteil

Siebeneckzahl

王林
Freigeben: 2023-09-24 10:33:08
nach vorne
1232 Leute haben es durchsucht

Eine Siebeneckzahl ist eine Zahl, die als Siebeneck dargestellt werden kann. Eine Siebeneckzahl kann als Kombination aufeinanderfolgender Siebeneckschichten dargestellt werden (siehe folgende Abbildungen).

SiebeneckzahlDie erste siebeneckige Zahl ist 1. Daher kann es durch einen kleinen Punkt dargestellt werden.

SiebeneckzahlDie zweite siebeneckige Zahl ist 7, die durch ein Siebeneck dargestellt werden kann.

SiebeneckzahlDie dritte Siebeneckzahl ist 18, die durch ein Siebeneck dargestellt und mit einer durchgehenden Siebeneckschicht kombiniert werden kann.

SiebeneckzahlDie 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

Um dieses Problem zu lösen, müssen wir das Muster sehen, dem die Berechnung der n-ten Siebeneckzahl folgt. Die n-te siebeneckige Zahl kann als −

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

Wir erklären es in den folgenden Schritten:

  • Nehmen Sie eine beliebige positive Zahl N als Eingabe und berechnen Sie den entsprechenden siebeneckigen Wert N.

  • Initialisieren Sie eine Funktion, um die N-te Siebeneckzahl zu berechnen.

  • Verwenden Sie den im Algorithmusabschnitt erwähnten Ausdruck, d. h. $frac{N}{2}(5N:-:3)$, um die N-te Siebeneckzahl zu berechnen und sie in einer beliebigen Variablen zu speichern.

  • Gibt unsere gespeicherte Variable zurück, die der Wert der N-ten siebeneckigen Zahl ist, die einem beliebigen positiven Wert N entspricht.

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

lautet:

Beispiel

Implementieren Sie diese Methode in C++ −

#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;
}
Nach dem Login kopieren

Ausgabe

55
403
Nach dem Login kopieren

Zeitliche Komplexität: O(1), weil es nur konstante Zeit benötigt.

Raumkomplexität: O(1), da kein zusätzlicher Raum verwendet wird.

Fazit

Wir haben versucht, das Konzept der siebeneckigen Zahlen und die Formel zur Berechnung der n-ten siebeneckigen Zahl zu lernen, die wir in der Methode verwendet haben.

Ich 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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage