首頁  >  文章  >  後端開發  >  在C++中,將給定的四個數字組成的第n個數字的位數

在C++中,將給定的四個數字組成的第n個數字的位數

王林
王林轉載
2023-08-29 15:01:05588瀏覽

在C++中,將給定的四個數字組成的第n個數字的位數

我們要找出由給定的四個數字1、2、3 和4 組成的第n 個數字的位數。

以上四個數字的級數位數如下

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

#我們要找出位數上述系列中的第n 個數字。如果你仔細觀察這個圖案,你會發現以下幾點。

  • 數字為1的數字有4個。

  • 有16個數字包含數字2。

  • 該模式繼續為4 的冪。

讓我們來看一個範例

輸入

7

輸出

2

#系列中的第7個數字是13,其中的位數是2。

演算法

    ##初始化數字n。
  • 初始化兩個變量,一個用於儲存結果,另一個用於儲存系列中數字的總和。
  • 建立一個循環將迭代變數增加4 次方。
    • 將目前數字加到sum 變數。
    • 如果總和大於n,則中斷迴圈。
    • 結果加1,因為下一群組數字會比上一組數字多出一位數字。
  • 傳回結果。
實作

以下是上述演算法在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;
}

輸出

如果你執行上述程式碼,你將得到以下結果。

3

以上是在C++中,將給定的四個數字組成的第n個數字的位數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除