Rumah > Artikel > pembangunan bahagian belakang > nombor naik turun
Dalam artikel ini, kita akan mempelajari apa itu nombor turun naik dan memperkenalkan kaedah kami untuk menyemak sama ada nombor yang diberikan ialah nombor turun naik, menggunakan fungsi Boolean untuk menyemak nombor turun naik.
Kami akan diberi nombor dan tugas kami adalah untuk menyemak sama ada nombor yang diberikan itu turun naik.
Mari kita fahami nombor turun naik
Nombor turun naik ialah nombor yang terdiri daripada dua jenis nombor sahaja, dengan setiap nombor lain adalah sama.
Kita boleh katakan bahawa nombor turun naik adalah dalam bentuk "PQPQPQ" di mana P dan Q ialah dua nombor berbeza dalam sistem nombor.
Digit pertama dan kedua bagi nombor yang turun naik tidak boleh sama, iaitu 11111 bukanlah nombor yang turun naik.
Kami biasanya menganggap nombor turun naik bukan remeh sebagai hanya nombor turun naik, yang bermaksud nombor turun naik itu perlu terdiri daripada sekurang-kurangnya 3 digit. Iaitu, kita tidak boleh hanya menggunakan dua nombor untuk membentuk nombor yang turun naik.
Mari kita pertimbangkan beberapa contoh nombor yang turun naik -
494, 484, 474, 464, 454, 434, 424, 414, 404, 393, 383, 373, 363, 353, 343, 323, 313, 11, 1, 1, 1, 1, 1, 1 , 171 , 181, 191, 202 dan banyak lagi.
Beberapa nombor ayunan bernilai tinggi ialah - 1212121212, 3838383838, 57575757575757, dsb.
Untuk sebarang nombor digit d, dengan d>=3 (d mengandungi sekurang-kurangnya 3 digit), kita boleh mempunyai 9 * 9 = 81 nombor turun naik, kerana nilai pertama (nombor dari 1 hingga 9) mempunyai 9 pilihan, begitu juga untuk 9 pilihan (digit dari 0 hingga 9, kecuali untuk digit pertama).
Kami mempunyai nombor dan tugas kami adalah untuk mengetahui sama ada ia mempunyai pasang surut.
Terdapat beberapa sekatan mengenai nombor −
Ia hanya mengandungi dua jenis nombor.
Dua nombor tidak boleh sama.
Mengandungi sekurang-kurangnya 3 digit
Nombor bersebelahan dalam nombor tidak sama.
Given Number : Num = 252 Result: Yes, the number is undulating Given Number : Num = 64664 Result: =No, the number is not undulating
Dalam contoh di bawah, kami menyemak sama ada nombor yang diberikan adalah nombor yang turun naik. Kami menunjukkan menggunakan nombor yang bukan nombor yang turun naik. Anda boleh mencuba nombor yang berbeza untuk menyemak sama ada nombor itu adalah nombor yang turun naik.
#include <bits/stdc++.h> using namespace std; // boolean function that checks // is the number undulating bool Is_number_undulating(string num){ // important to check // if first and second digit // are equal if (num.length() <= 2 || num[0]==num[1]) return false; for (int iterator = 2; iterator < num.length(); iterator++) if (num[iterator - 2] != num[iterator]) false; return true; } int main(){ string num = "111111"; if (Is_number_undulating(num)) cout << " Yes the number is undulating "; else cout << " No, the number is not undulating "; }
Apabila anda menjalankan program C++ di atas, ia akan menghasilkan output berikut -
No, the number is not undulating
Kerumitan Masa - Untuk nombor n-digit, kerumitan masa ialah O(N).
Kerumitan Angkasa - Memandangkan tiada ruang luaran digunakan, kerumitan ruang tambahan ialah O(N).
Dalam artikel ini, kami memahami secara terperinci apa itu nombor turun naik dan penyelesaian kod untuk menyemak sama ada nombor yang diberikan turun naik.
Atas ialah kandungan terperinci nombor naik turun. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!