zhm521

求阶乘,递归和非递归两种方法

//第一次尝试:
#define
_CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //递归方法求 int setFactor1(int num) { if (num == 1) { return 1; } else { return num * setFactor1(num - 1); } } //非递归方法求 int setfactor2(int num) { int value = 1; for (int i = 1; i <= num; i++) { value = value * i; } return value; } int main() { printf("输入要求阶乘的数:\n"); int num = 0; scanf("%d", &num); printf("递归方法求得: %d\n", setFactor1(num)); printf("非递归方法求得: %d\n", setfactor2(num)); return 0; }
//利用两种方法来求阶乘,递归和循环,递归的思想比较难理解,但是理顺了就非常简单,只要设定好结束条件,很容易就可以实现;循环是一种正常解法,比较好写。

 

发表于 2020-10-26 11:48  zhm521  阅读(153)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: