如何不使用循环输出 1 到 100 和 不使用 * 实现两数相乘【递归实现】

news/2025/2/16 5:15:39/

1. 问题

实现一个函数,要求再不使用循环的前提下输出 1 ~ 100

2. 思路

很多时候循环可以使用递归来实现,所以只要设置好递归的截止条件就可以。

3. 实现

#include <iostream>void output(int n)
{if (n <= 100){std::cout << n << std::endl;output(++n);}
}int main()
{output(1);return 0;
}

类似问题

递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。

class Solution {
public:int multiply(int A, int B) {if (A == 0 || B == 0){return 0;}if (A < B){return multiply(A-1, B) + B;}return multiply(A, B-1) + A;}
};

http://www.ppmy.cn/news/603061.html

相关文章

只使用 ++ 操作符实现加减乘除运算

1. 问题分析 加法操作 要实现 ab 的基本思路就是对 a 执行 b 次 操作即可。减法操作 要实现 a-b 的基本思路就是不断地对 b 执行 n 次 操作&#xff0c;直到等于 a 为止&#xff0c;记录这个过程中的操作次数。乘法操作 要实现 a*b 的基本思路就是对 a 执行 b 次相加就能得到…

经典排序算法(冒泡排序、选择排序、插入排序)

1. 冒泡排序 1.1 算法步骤 比较相邻的元素。如果第一个比第二个大&#xff0c;就交换他们两个。对每一对相邻元素作同样的工作&#xff0c;从开始第一对到结尾的最后一对。这步做完后&#xff0c;最后的元素会是最大的数。针对所有的元素重复以上的步骤&#xff0c;除了最后一…

Docker 入门系列(8)— 免 sudo 使用 docker 命令、进入未启动的容器

1. 免 sudo 使用 docker 命令 如果还没有 docker group 就添加一个 sudo groupadd docker将用户加入该 group 内 sudo gpasswd -a ${USER} docker重启 docker 服务 sudo service docker restart切换当前会话到新 group 或者重启 X 会话 newgrp - docker注意&#xff1a;最…

RabbitMQ 入门系列(12)— 交换器分类(direct、fanout、topic)

RabbitMQ的 Exchange&#xff08;交换器&#xff09;分为四类&#xff1a; direct&#xff08;默认&#xff09;headersfanouttopic 其中 headers 交换器允许你匹配 AMQP 消息的 header 而非路由键&#xff0c;除此之外 headers 交换器和 direct 交换器完全一致&#xff0c;但…

libavcodec-ffmpeg.so.56 cannot open shared object file

1. 问题现象 ImportError: libavcodec-ffmpeg.so.56: cannot open shared object file: No such file or directory2. 解决方法 sudo apt-get install libavcodec-dev sudo apt-get install libavformat-dev sudo apt-get install libswscale-dev

查找数组中唯一重复的元素和查找数组中丢失的数(哈希法和异或法)

1. 问题 假设数组元素为分别为 1-N&#xff0c;一共 N1 个&#xff0c;其中只有一个元素重复出现&#xff0c;其它元素只出现一个&#xff0c;找出这个重复的元素 2. 思路 2.1 使用 Hash 方法 将出现的元素依次放到一个 hash 表中&#xff0c;每个元素值作为 hash 的 key &am…

查找数组元素最大值和最小值(分治法)

1. 问题 给定一个数组&#xff0c;要求找出数组中的最大值和最小值&#xff0c;假设数组中的值两两各不相同 2. 思路 2.1 首元素比较法 定义变量 max、min &#xff0c; 分别将第一个元素分别赋值给这两个变量&#xff0c;然后依次遍历数组中的全部元素&#xff0c;如果比 ma…

超级实用的思维导图软件

如果你正在寻找一款超级实用的思维导图软件&#xff0c;那么我强烈推荐你使用ProcessOn。这款软件不仅功能强大&#xff0c;而且易于使用&#xff0c;可以帮助你更好地组织和管理工作流程、学习笔记、项目管理等。 首先&#xff0c;让我们来看看ProcessOn的优点。它提供了丰富的…