C++:使用递归加倍数字

标签 c++ recursion

这是我的“C++ 入门”类(class)。我需要

Write a program that uses a recursive function double_all_digit that doubles all digit from an integer. For example, double_all_digits(101) will return 110011

我下面的代码只适用于一个数字;我不知道如何进行:

int double_all_digit(int x)
{
    if(x < 10)
        return (x*10) + x;
}

最佳答案

你有基本情况;现在进行递归。

  • 将数字拆分为 1 的数字(使用模数)和其余数字。
  • 重复休息;你的结果是所有数字都加倍的数字。
  • 将该结果乘以 100;加上 1 的数字的 11 倍。
  • 将该值返回上一级。

关于C++:使用递归加倍数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43690676/

相关文章:

c++ - 创建由 C++ 中的参数输入指定大小的矩阵(二维数组)

c++ - 重载++运算符

c++ - URLDownloadToFile 失败并返回 0x800c0008 (INET_E_DOWNLOAD_FAILURE),具体取决于 URL 的长度

c++ - 我是否需要遍历两个子树进行计算,从根到叶的总和,到给定值?

ArrayList 上的 Java 递归

algorithm - 是 log(n!) = Θ(n·log(n))?

c++ - 获取满足某些条件的已排序 std::vector 中的范围

c++ - 为什么 boost::bind 与前向声明不兼容?

Python:如何在仅更改特定元素时查找列表的所有组合

c - 如何制作递归函数,将大写字母放在第一个字母和这个 '.' 字符之后