rxcr.net
当前位置:首页 >> 递归算法求n的阶乘 >>

递归算法求n的阶乘

#include double fun(int n); int main(void) { int n; printf("Enter n:"); scanf("%d",&n); printf("%lf\n",fun(n)); return 0; } double fun(int n) { if(n==0||n==1) return 1; else return n*fun(n-1); } 程序调用自身称为递归( recursion).它通常把一个大型复

思路:递归求阶乘函数,如果输入的参数等于1则返回1,否则返回n乘以该函数下次递归.参考代码:#include int fun(int n) { if(n==1||n==0) return 1;//如果参数是0或者1返回1 return n*fun(n-1);//否则返回n和下次递归的积 } int main() { int n; scanf("%d",&n); printf("%d\n",fun(n)); return 0; }/*5120*/ 【递归算法的原理】 递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写 递归能使程序变得简洁和清晰.

#include <stdio.h> void main() { float f(int);//函数原型 int n; float sum; printf("你想求谁(整数)的阶乘:"); scanf("%d",&n); sum=f(n); printf("%d!=%.2f/n",n,sum); } float f(int n) { float sum; if(n<0) printf("data error./n"); else if(n==0||n=

if (n==0) f=1; 如果n为0,那么f就等于1 else f=(n-1)*n; //递归调用 否则执行这条,n递减 return(f); 返回f继续执行循环体,一直到n为0结束循环.

public class fab{public static int f(int n ){ if(n==1){return 1;}else{return n*f(n-1);}}public static void main(String[] args){system.out.println(f(5));}}

#include using namespace std; // 本程序用递归算法求n的阶乘 int counter=1; int fac(int n) { cout>n; cout

//递归函数int fun(n){ if(n>1) { return n*fun(n-1); } else { return 1; }}

int fac(int n) {int f=1; while(n)f*=n--; return f; }

代码如下://#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h" unsigned myfact(int n){ if(n==1 || n==0) return 1; return n*myfact(n-1); } int main(void){ int n; unsigned x; while(1){ printf("Input n(int 0<=n<n<9)\nn=");//限制到8为

for i=1:10 A(i,:)=[i fac(i)]end 其中 fac(n)为求阶乘的函数保存在fac.m文件中

rjps.net | kcjf.net | nczl.net | zxtw.net | nczl.net | 网站首页 | 网站地图
All rights reserved Powered by www.rxcr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com