在C++中,将给定的四个数字组成的第n个数字的位数

在c++中,将给定的四个数字组成的第n个数字的位数

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.

Algorithm

Initialise the number n.Initialise two variables one to store result and another one to store total sum of numbers in the series.Create a loop that increased the iterative variable by the powers of 4.Add the current number to the sum variable.If the total sum is greater than n, then break the loop.Add 1 to the result as next set of number will have one digit extra than previous set of numbers.Return the result.

Implementation

Following is the implementation of the above algorithm in C++

#include 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 

输出

如果你运行上述代码,你将得到以下结果。

3

登录后复制

以上就是在C++中,将给定的四个数字组成的第n个数字的位数的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2585252.html

(0)
上一篇 2025年3月6日 15:00:09
下一篇 2025年2月23日 10:23:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 在C语言中的布尔数组谜题

    这是一个基于数组的谜题,需要你将包含两个元素的数组中的所有数字都更改为0。数组的一个元素是0,另一个元素可能是0也可能不是。 要解决这个谜题,程序需要找到非零元素并将其更改为0。 以下是解决布尔数组谜题所需的约束条件 − 允许的操作是补集,…

    2025年3月6日
    200
  • c语言大小写字母怎么转化

    c语言大小写字母转化的方法:1、tolower()函数,使用for循环来遍历字符串中的每个字符,将每个字符传递给tolower()函数进行转换,并将转换结果赋值给原来的字符,最后打印转换后的字符串;2、toupper()函数,使用for循环…

    2025年3月6日
    200
  • 在C语言中,转义序列

    许多编程语言支持一种称为转义序列的概念。当一个字符前面有一个反斜杠()时,它被称为转义序列,并且对编译器有特殊的意义。例如,下面的语句中的 是一个有效的字符,它被称为换行字符 − char ch = ”; 登录后复制 在这里,字符n之前有…

    2025年3月6日
    200
  • Klee的算法(线段的并集长度)在C++中

    在本教程中,我们将编写一个程序,用于查找线段的并集的长度。 我们已经给出了线段的起点和终点,我们需要找到线段的并集的长度。 我们将使用的算法称为klee’s算法。 让我们来看看解决这个问题的步骤。 立即学习“C++免费学习笔记(…

    2025年3月6日
    200
  • 使用C++编写的代码:找到使用字母表前K个字母组成的字典序最小的字符串,且相邻字符不能相同

    在编程世界中,解决字符串操作问题是一个常见且有趣的挑战。面临的一个关键问题是如何仅利用字母表中的 K 个字母来获得按字典顺序排列的最小字符串,同时遵循诸如不匹配相邻字符之类的附加约束。在本文中,我们的目的是深入研究这个问题并使用 C++ 编…

    2025年3月6日
    200
  • 在C语言中,寄存器存储类是什么?

    在C编程语言中有四个存储类,分别是: autoexternstaticregister 寄存器变量 关键字是register。 寄存器变量的值存储在CPU的寄存器中,而不是存储在内存中,普通变量存储在内存中。 寄存器是CPU中的临时存储单元…

    2025年3月6日
    200
  • 在C语言中,负数的绝对值为正数

    在这里,我们将看到如果我们使用负数来获取模数会得到什么结果。让我们看一下以下程序及其输出,以了解这个概念。 示例 #includeint main() {   int a = 7, b = -10, c = 2;   printf(“Res…

    2025年3月6日
    200
  • C语言中的身份矩阵程序

    给定一个方阵 M[r][c],其中“r”是一定数量的行,“c”是列,使得 r = c,我们必须检查“M”是否是单位矩阵。 恒等矩阵 恒等矩阵也称为大小为nxn方阵的单位矩阵,其中对角元素的整数值为1,非对角元素的整数值为0 p> 就像…

    2025年3月6日
    200
  • C++程序打印空心的右三角星形图案

    以金字塔、正方形和菱形等不同格式显示星形图案非常有用常见于基础编程和逻辑构建。我们见过几颗星星学习编程中的循环语句时的数字模式问题。在本文中,我们将看到如何在 C++ 中打印空心直角三角形星形图案。 在此程序中,我们采用行号 n,这将为 n…

    2025年3月6日
    200
  • C/C++标记?

    C++ 令牌是程序的最小独立单元。 C++ 是 C 的超集,因此大多数 C 结构在 C++ 中都是合法的,其含义和用法不变。因此,标记、表达式和数据类型与 C 的标记、表达式和数据类型类似。 以下是 C++ 标记:(大多数 C++ 标记基本…

    2025年3月6日
    200

发表回复

登录后才能评论