We need to find the number of digits in the nth number made of given four digits 1, 2, 3, and 4.
The series with the above four digits is as follows
1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24...
We need to find the number of digits of the nth number from the above series. If you carefully observe the pattern, you will find the following points.
立即学习“C++免费学习笔记(深入)”;
There are 4 numbers with digits 1.
There are 16 numbers with digits 2.
The pattern continues as the powers of 4.
Let's see an example
Input
7
Output
2
The 7th number in the series is 13 and the number of digits in it is 2.
Following is the implementation of the above algorithm in 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中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号