Rumah  >  Artikel  >  pembangunan bahagian belakang  >  nombor naik turun

nombor naik turun

WBOY
WBOYke hadapan
2023-08-28 13:41:061216semak imbas

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.

Pernyataan Masalah

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).

Penyelesaian

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.

Contoh

Given Number : Num = 252
Result: Yes, the number is undulating
Given Number : Num = 64664
Result: =No, the number is not undulating

Contoh

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 ";
}

Output

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam