Jadual Kandungan
Mencari Penyelesaian Kaedah
Kaedah Rekursif
Contoh
Output
Penjelasan kod di atas
Kaedah Iteratif
Kesimpulan
Rumah pembangunan bahagian belakang C++ Cari nombor Pell menggunakan C++

Cari nombor Pell menggunakan C++

Aug 30, 2023 pm 06:09 PM
c bahasa Cari bilangan jampi

Cari nombor Pell menggunakan C++

Dalam masalah yang diberikan, kita diberi integer n dan kita perlu mencari Pn iaitu nombor ejaan pada kedudukan tersebut. Sekarang, seperti yang kita ketahui, nombor ejaan ialah sebahagian daripada urutan yang diberikan oleh formula berikut - Pn = 2*Pn-1 + Pn-2

Dua nombor permulaan pertama - P 0 = 0 dan P1 = 1

Mencari Penyelesaian Kaedah

Sekarang kita akan menyelesaikan masalah ini dengan dua kaedah: rekursi dan lelaran.

Kaedah Rekursif

Dalam formula ini, kami akan menggunakan formula Pell Number secara rekursif dan melakukan n lelaran.

Contoh

#include <iostream>

using namespace std;
int pell(int n) {
   if(n <= 2)
      return n;
   return 2*pell(n-1) + pell(n-2);
}
int main() {
   int n = 6; // given n
   cout << pell(n) <<"\n"; // Pell number at that position.
   return 0;
}
Salin selepas log masuk

Output

70
Salin selepas log masuk
Salin selepas log masuk

Penjelasan kod di atas

Dalam pendekatan ini kami menggunakan rekursi dengan memanggil pell(n-1) && pell(n-2) sehingga n adalah kurang daripada atau sama dengan 2 kerana Kami ketahui bahawa nombor yang dieja hingga 2 adalah sama dengan nombor yang diberikan. Kerumitan masa keseluruhan program di atas ialah O(N), dengan N ialah nombor yang diberikan.

Kaedah Iteratif

Dalam kaedah ini kita akan menggunakan formula yang sama seperti di atas tetapi menggunakan gelung for dan bukannya fungsi rekursif untuk mengira nombor.

Contoh

#include <iostream>

using namespace std;
int main() {
   int n = 6; // given n.
   int p0 = 0; // initial value of pn-2.
   int p1 = 1; // initial value of pn-1.
   int pn; // our answer.

   if(n <= 2) // if n <= 2 we print n.
      cout << n <<"\n";
   else {
      for(int i = 2; i <= n; i++) { // we are going to find from the second number till n.

         pn = 2*p1 + p0;
         p0 = p1; // pn-1 becomes pn-2 for new i.
         p1 = pn; // pn becomes pn-1 for new i.
      }

      cout << pn << "\n";
   }
   return 0;
}
Salin selepas log masuk

Output

70
Salin selepas log masuk
Salin selepas log masuk

Penjelasan kod di atas

Dalam atur cara yang diberikan, kami merentasi dari 2 ke n dan hanya mengemas kini nilai pn-2 kepada pn-1, menukar nilai pn-1 Nilai dikemas kini kepada pn sehingga n dicapai.

Kesimpulan

Dalam artikel ini, kami menyelesaikan masalah mencari nombor ejaan N menggunakan rekursi dan lelaran. Kami juga mempelajari program C++ untuk menyelesaikan masalah ini dan cara lengkap untuk menyelesaikan masalah ini (biasa dan cekap). Kita boleh menulis program yang sama dalam bahasa lain, seperti C, java, python dan bahasa lain.

Atas ialah kandungan terperinci Cari nombor Pell menggunakan C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penggunaan typedef struct dalam bahasa c Penggunaan typedef struct dalam bahasa c May 09, 2024 am 10:15 AM

typedef struct digunakan dalam bahasa C untuk mencipta alias jenis struktur untuk memudahkan penggunaan struktur. Ia alias jenis data baharu kepada struktur sedia ada dengan menentukan alias struktur. Faedah termasuk kebolehbacaan yang dipertingkatkan, penggunaan semula kod dan pemeriksaan jenis. Nota: Struktur mesti ditakrifkan sebelum menggunakan alias itu mestilah unik dalam program dan hanya sah dalam skop di mana ia diisytiharkan.

Perbezaan antara strcpy dan strcat dalam bahasa c Perbezaan antara strcpy dan strcat dalam bahasa c May 08, 2024 pm 01:03 PM

strcpy menyalin rentetan ke rentetan lain, manakala strcat menambahkan rentetan ke rentetan lain. Perbezaan utama termasuk: tujuan yang berbeza, pemprosesan parameter dst yang berbeza, dan pertimbangan keselamatan yang berbeza.

Apakah maksud sebenar dalam bahasa c Apakah maksud sebenar dalam bahasa c May 09, 2024 pm 12:06 PM

sebenar ialah jenis data yang digunakan untuk mewakili nombor titik terapung berketepatan dua dalam bahasa C Ia menduduki 8 bait, mempunyai ketepatan kira-kira 15 tempat perpuluhan dan julat ialah [-1.7976931348623157e+308, 1.7976931348623157e+308].

_penggunaan kompleks dalam bahasa c _penggunaan kompleks dalam bahasa c May 08, 2024 pm 01:27 PM

Jenis kompleks digunakan untuk mewakili nombor kompleks dalam bahasa C, termasuk bahagian nyata dan khayalan. Bentuk permulaannya ialah complex_number = 3.14 + 2.71i, bahagian sebenar boleh diakses melalui kreal(complex_number), dan bahagian khayalan boleh diakses melalui cimag(complex_number). Jenis ini menyokong operasi matematik biasa seperti penambahan, penolakan, pendaraban, pembahagian dan modulo. Di samping itu, satu set fungsi untuk bekerja dengan nombor kompleks disediakan, seperti cpow, csqrt, cexp dan csin.

Cara menggunakan restrict dalam bahasa c Cara menggunakan restrict dalam bahasa c May 08, 2024 pm 01:30 PM

Kata kunci sekatan digunakan untuk memaklumkan pengkompil bahawa pembolehubah hanya boleh diakses oleh penuding, menghalang gelagat yang tidak ditentukan, mengoptimumkan kod dan meningkatkan kebolehbacaan: Menghalang gelagat yang tidak ditentukan apabila berbilang penunjuk menghala ke pembolehubah yang sama. Untuk mengoptimumkan kod, pengkompil menggunakan kata kunci had untuk mengoptimumkan akses berubah-ubah. Meningkatkan kebolehbacaan kod dengan menunjukkan bahawa pembolehubah hanya boleh diakses dengan penuding.

Apa yang perlu dilakukan jika terdapat ralat dalam scanf dalam bahasa C Apa yang perlu dilakukan jika terdapat ralat dalam scanf dalam bahasa C May 09, 2024 am 11:39 AM

Dalam bahasa C, kaedah untuk mengendalikan ralat fungsi scanf termasuk: 1. Semak rentetan format; menangani ralat tersuai. Untuk mengelakkan ralat, gunakan jenis data yang betul, sahkan input dengan teliti, semak nilai pulangan dan kendalikan kemungkinan ralat dalam program anda.

Bagaimana untuk melaksanakan fungsi kuasa dalam bahasa C Bagaimana untuk melaksanakan fungsi kuasa dalam bahasa C May 09, 2024 pm 11:33 PM

Dalam bahasa C, terdapat dua cara untuk melaksanakan operasi eksponen: gunakan fungsi pow() untuk mengira kuasa parameter kedua bagi parameter pertama. Tentukan fungsi kuasa tersuai, yang boleh dilaksanakan secara rekursif atau berulang: kaedah rekursif terus menggandakan kuasa sehingga 0. Kaedah lelaran menggunakan gelung untuk mendarab asas satu demi satu.

_Apakah maksud bool dalam bahasa c? _Apakah maksud bool dalam bahasa c? May 08, 2024 pm 01:33 PM

_Bool mewakili jenis Boolean dalam bahasa C Ia adalah jenis data ringkas yang mengandungi hanya dua nilai, benar atau salah Ia digunakan untuk mewakili hasil keadaan atau ungkapan logik Ia biasanya menduduki 1 bait memori dan hanya boleh menyimpan benar atau nilai palsu.

See all articles