Rumah > pembangunan bahagian belakang > C++ > 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

王林
Lepaskan: 2023-08-29 15:01:05
ke hadapan
673 orang telah melayarinya

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
Salin selepas log masuk

Output

2
Salin selepas log masuk

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;
}
Salin selepas log masuk

输出

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

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 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan