知识补充
递归要点:
1.大问题->小问题(假设n-1问题已经解决)
2.最小问题如何解决?
学习网址:
编写一个函数power(float x,int n)用递归的方法计算x的n次幂。在主函数中实现输入输出。
#include <iostream>
using namespace std;
float power(float, int);
int main() {
float x;
int n;
cin >> x >> n;
cout << "x的n次幂为:" <<power(x,n)<< endl;
return 0;
}
float power(float x, int n) { //该函数用于实现计算x次幂,那么之后求n-1、n-2...次幂都可以用了
while (n != 1) {
return x*power(x, n - 1);
}
if (n == 1) {
return x;
}
}
输入一个正整数n,输出n!的值。其中n!=1*2*3*…*n,即求阶层。
#include<stdio.h>
int factorial(int);
int main()
{
int n;
printf("请输入要求阶乘的数据");
scanf_s("%d", &n);
printf("%d的阶乘为:%d",n,factorial(n));
return 0;
}
int factorial(int n) { //该函数用于实现求n的阶乘,那么之后求n-1、n-2...的阶乘都可以用了
if (n == 1) {
return 1;
}
else {
return factorial(n - 1) * n;
}
}
输入:6
输出: