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;}
};