与えられた 4 つの数字 1、2、3、4 からなる n 番目の数値の桁数を見つける必要があります。
上記の 4 つの系列桁は次のとおりです
1、2、3、4、11、12、13、14、21、22、23、24...
桁数を見つける必要があります上記のシリーズの n 番目の番号。パターンを注意深く観察すると、次の点がわかります。
数字 1 の数字が 4 つあります。
数字は 16 個あります。数字 2.
パターンは 4 のべき乗として続きます。
例を見てみましょう
入力
7
出力
2
シリーズの 7 番目の数値は 13 で、その桁数は 2 です。
以下は、上記のアルゴリズムを 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; }
以上がC++ では、指定された 4 つの数値で構成される n 番目の数値の桁数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。