Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dalam C++, bilangan digit dalam nombor ke-n terdiri daripada empat nombor yang diberikan

Dalam C++, bilangan digit dalam nombor ke-n terdiri daripada empat nombor yang diberikan

王林
王林ke hadapan
2023-08-29 15:01:05586semak imbas

Dalam C++, bilangan digit dalam nombor ke-n terdiri daripada empat nombor yang diberikan

Kita perlu mencari bilangan digit dalam nombor ke-n yang diperbuat daripada empat digit 1, 2, 3, dan 4 yang diberi.

Siri dengan empat digit di atas adalah seperti berikut

1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24...

Kita perlu mencari bilangan digit nombor ke-n daripada siri di atas. Jika anda memerhati corak dengan teliti, anda akan mendapati perkara berikut.

  • Terdapat 4 nombor dengan digit 1.

  • Terdapat 16 nombor dengan digit 2.

  • Corak itu berterusan sebagai kuasa 4 .

Mari kita lihat contoh

Input

7

Output

2

Nombor ke-7 dalam siri ini ialah 13 dan nombor 2 digit di dalamnya adalah

Alhmrit

Mulakan nombor n.
  • Mulakan dua pembolehubah satu untuk menyimpan hasil dan satu lagi untuk menyimpan jumlah keseluruhan nombor dalam siri.
  • Buat gelung yang meningkatkan pembolehubah lelaran dengan kuasa 4.
  • Tambah nombor semasa kepada pembolehubah jumlah .
    • Jika jumlah keseluruhan lebih besar daripada n, maka putuskan gelung.
    • Tambah 1 pada keputusan kerana set nombor seterusnya akan mempunyai satu digit tambahan daripada set nombor sebelumnya.
    Kembalikan hasilnya.
  • Implementation

Berikut ialah pelaksanaan algoritma di atas dalam C++

#include <bits/stdc++.h>
using namespace std;
int getDigitsCount(int n) {
   int i, result = 1, sum = 0;
   for (i = 4; ; i *= 4) {
      sum += i;
      if (sum >= n) {
         break;
      }
      result += 1;
   }
   return result;
}
int main() {
   int n = 57;
   cout << getDigitsCount(n) << endl;
   return 0;
}

输出

如果你运行上述代码,你将得到玜你运行上述代码,你将得到玜你得到玜你运行上述代码,你将得到玜你得到䟎。

Atas ialah kandungan terperinci Dalam C++, bilangan digit dalam nombor ke-n terdiri daripada empat nombor yang diberikan. 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