


Program rekursif untuk memeriksa sama ada nombor adalah palindrom dalam C++
Kami mendapat integer sebagai input. Matlamatnya adalah untuk menggunakan rekursi untuk menentukan sama ada nombor input Num ialah palindrom.
Untuk menyemak sama ada nombor adalah palindrom, terbalikkan nombor itu dan semak sama ada kedua-dua nombor adalah sama. Jika nombor terbalik adalah sama dengan nombor asal, ia adalah palindrom.
Contoh
Input− Nombor = 34212;
Penjelasan− Jika kita terbalikkan 34212, kita dapat 21243. 34212 != 21243 Oleh itu nombor yang dimasukkan bukanlah palindrom.
Input− Num = 32123;
Output#🎜🎜🎜#1−3 ialah 32123;
Penjelasan - Jika kita terbalikkan 32123, kita dapat 32132. 32123!= 32123, jadi nombor input ialah palindrom.
Kaedah yang digunakan dalam program berikut adalah seperti berikutDalam kaedah ini, kami menggunakan fungsi rekursif revrsNum(int num1, int num2), yang menerima input nombor num1 dan nombor sementara num2.
Untuk kes asas -: jika nombor1 ialah 0, kembalikan nombor2. p>Else-: Gunakan rekursi untuk mengira susunan terbalik nombor1. Mengembalikan salingan pengiraan.Jika kedua-duanya sama, nombor yang dimasukkan ialah palindrom.
Dapatkan nombor input Num.- Dapatkan nombor input Num. p>
- Dapatkan Num2 = revrsNum(Num,0)
- Function revrsNum2, intsive numrates1 songsangan bagi num1 dan mengembalikan nombor terbalik.
- Jika nombor1 ialah 0, hasil pengiraan songsang mengembalikan nombor2.
- Jika tidak, darabkan nombor2 dengan 10 dan tambahkan nombor1%10.
- Kurangkan num1 dengan 10 menggunakan num1=num1/10.
- Gunakan revrsNum(rekursif num1, num2);
- untuk mengembalikan keputusan
- Cetak keputusan yang diperolehi di dalam utama.
- ContohOutput
#include <bits/stdc++.h> using namespace std; int revrsNum(int num1, int num2){ if (num1 == 0){ return num2; } num2 *= 10; num2 += (num1 % 10); num1 = num1/10; return revrsNum(num1, num2); } int main(){ int Num = 1345431; int Num2 = revrsNum(Num,0); if (Num == Num2){ cout <<Num<<" is Palindrome!"; } else{ cout <<Num<<" is not a Palindrome!"; } return 0; }
Salin selepas log masuk
1345431 is Palindrome!
Salin selepas log masuk
Atas ialah kandungan terperinci Program rekursif untuk memeriksa sama ada nombor adalah palindrom dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kedalaman rekursi fungsi C++ adalah terhad, dan melebihi had ini akan mengakibatkan ralat limpahan tindanan. Nilai had berbeza antara sistem dan penyusun, tetapi biasanya antara 1,000 dan 10,000. Penyelesaian termasuk: 1. Pengoptimuman rekursi ekor; 2. Panggilan ekor;

Ya, ungkapan Lambda C++ boleh menyokong rekursi dengan menggunakan std::function: Gunakan std::function untuk menangkap rujukan kepada ungkapan Lambda. Dengan rujukan yang ditangkap, ungkapan Lambda boleh memanggil dirinya secara rekursif.

Algoritma rekursif menyelesaikan masalah berstruktur melalui fungsi panggilan kendiri Kelebihannya ialah ia mudah dan mudah difahami, tetapi kelemahannya ialah ia kurang cekap dan boleh menyebabkan limpahan timbunan Algoritma bukan rekursif mengelakkan pengulangan dengan menguruskan secara eksplisit struktur data timbunan Kelebihannya ialah ia lebih cekap dan mengelakkan limpahan, kelemahannya ialah kod itu mungkin lebih kompleks. Pilihan rekursif atau bukan rekursif bergantung kepada masalah dan kekangan khusus pelaksanaan.

Fungsi rekursif ialah teknik yang memanggil dirinya berulang kali untuk menyelesaikan masalah dalam pemprosesan rentetan. Ia memerlukan syarat penamatan untuk mengelakkan rekursi tak terhingga. Rekursi digunakan secara meluas dalam operasi seperti pembalikan rentetan dan pemeriksaan palindrom.

Rekursif ialah teknik berkuasa yang membolehkan fungsi memanggil dirinya sendiri untuk menyelesaikan masalah Dalam C++, fungsi rekursif terdiri daripada dua elemen utama: kes asas (menentukan apabila rekursif berhenti) dan panggilan rekursif (memecahkan masalah kepada sub yang lebih kecil. -masalah). Dengan memahami asas dan mempraktikkan contoh praktikal seperti pengiraan faktorial, jujukan Fibonacci dan traversal pokok binari, anda boleh membina gerak hati rekursif anda dan menggunakannya dalam kod anda dengan yakin.

Pengoptimuman rekursif ekor (TRO) meningkatkan kecekapan panggilan rekursif tertentu. Ia menukarkan panggilan rekursif ekor kepada arahan lompat dan menyimpan keadaan konteks dalam daftar dan bukannya pada tindanan, dengan itu menghapuskan panggilan tambahan dan operasi kembali kepada tindanan dan meningkatkan kecekapan algoritma. Menggunakan TRO, kita boleh mengoptimumkan fungsi rekursif ekor (seperti pengiraan faktorial dengan menggantikan panggilan rekursif ekor dengan pernyataan goto, pengkompil akan menukar lompatan goto kepada TRO dan mengoptimumkan pelaksanaan algoritma rekursif).

Rekursi ialah teknik di mana fungsi memanggil dirinya sendiri, tetapi mempunyai kelemahan limpahan tindanan dan ketidakcekapan. Alternatif termasuk: pengoptimuman rekursif ekor, di mana pengkompil mengoptimumkan panggilan rekursif ke dalam gelung, yang menggunakan gelung dan bukannya rekursi, yang membolehkan pelaksanaan dijeda dan disambung semula, mensimulasikan tingkah laku rekursif.

Dalam sistem Linux, arahan "ls" ialah alat yang sangat berguna yang memberikan gambaran keseluruhan ringkas fail dan folder dalam direktori semasa. Melalui arahan "ls", anda boleh melihat maklumat penting seperti kebenaran dan atribut fail dan folder dengan cepat. Walaupun arahan "ls" ialah arahan asas, dengan menggabungkan subperintah dan pilihan yang berbeza, ia boleh menjadi alat penting untuk pentadbir sistem dan pengguna. Dengan mahir menggunakan arahan "ls" dan pelbagai pilihannya, anda boleh mengurus sistem fail anda dengan lebih cekap, mencari fail yang anda perlukan dengan cepat dan melakukan pelbagai operasi. Oleh itu, arahan "ls" bukan sahaja dapat membantu anda memahami struktur direktori semasa, tetapi juga meningkatkan kecekapan kerja anda. Contohnya, pada sistem Linux, dengan menggunakan "ls" dengan pilihan rekursif
