1. 程式人生 > >遞迴法和迴圈法求n!

遞迴法和迴圈法求n!

遞迴法和迴圈法求n!

思路分析:迴圈法:呼叫for迴圈,依次累乘

​ 遞迴法: 遞推關係:n*Fun(n-1);Fun()為求階乘函式;

​ 出口:n<2;
在這裡插入圖片描述
完整程式:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int jiecheng1(n){//迴圈法
	int i , sum = 1;
	for (i = 1; i <=n; i++){
		sum *= i;
	}
	return
sum; } int jiecheng2(n){//遞迴法 遞推關係:n*Fun(n-1) if (n<2){ //出口 n<2; return 1; }return n*jiecheng2(n - 1); } int main(){ int n; printf("請輸入一個數:\n"); scanf("%d", &n); printf("%d的階乘為%d\n", n, jiecheng1(n)); printf("%d的階乘為%d\n", n, jiecheng2(n)); system("pause"); return 0; }

在這裡插入圖片描述