基本递归(3)求阶乘

/*

名称:递归求阶乘;

作者:君翼坦荡荡~

主要方法:递归

*/

#include<iostream>

using namespace std;

//递归部分

int qiujiecheng(int i)

{

  int sum=0;

  if(i==0)

    return 1;

  else

    sum = i * qiujiecheng(i-1);

    return sum;

}

int main( )

{

  int n,s;

  cin>>n;

  s=qiujiecheng(n);//调用函数

  cout<<s;

  //system("pause");

  return 0;

}

时间: 2024-10-11 04:21:05

基本递归(3)求阶乘的相关文章

利用递归求阶乘

1 package com.d; 2 3 import java.util.Scanner; 4 5 public class Digui { 6 7 public static void main(String[] args) { 8 Digui d = new Digui(); 9 10 System.out.println("请输入一个整数"); 11 Scanner scan = new Scanner(System.in); 12 int a = scan.nextInt()

[Lua学习]递归求阶乘

1 --递归求阶乘 2 function func(n) 3 if n ~= 1 then 4 return n * func(n - 1) 5 else 6 return 1 7 end 8 end 9 10 print("输入整数:") 11 a = io.read("*number") 12 print(a .. "! -> " .. func(a)) ps:函数内也可以用(a and b) or c 这种形式的语句替代(未亲测).

递归求阶乘和

6-2 递归求阶乘和 (10 分) 本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值. 函数接口定义: double fact( int n ); double factsum( int n ); 函数fact应返回n的阶乘,建议用递归实现.函数factsum应返回 1!+2!+...+n! 的值.题目保证输入输出在双精度范围内. 裁判测试程序样例: include <stdio.h> double fact( int n ); double f

Java50道经典习题-程序22 递归求阶乘

题目:利用递归方法求5!.分析:递归公式:n*factorial(n-1); 1 public class Prog22 { 2 public static void main(String[] args) { 3 System.out.println(factorial(5)); 4 } 5 //递归求阶乘 6 public static long factorial(int n) { 7 if(n==0||n==1) { 8 return 1L; 9 } 10 return n*factor

java例题_22 用递归求阶乘 5!

1 /*22 [程序 22 递归求阶乘] 2 题目:利用递归方法求 5!. 3 程序分析:递归公式:fn!=fn*4! 4 */ 5 6 /*分析 7 * 递归:如果其中每一步都要用到前一步或前几步的结果,称为递归的 8 * 根据提示,可以用算法x!=x*(x-1)!;y=x-1,y!=y*(y-1)!;... 9 * 10 * */ 11 12 13 package homework; 14 15 public class _22 { 16 17 public static void main

【GDOI 2011 DAY2 T3】零什么的最讨厌了 (快速求阶乘、中国剩余定理)

问题描述: 林记在做数学习题的时候,经常遇到这种情况:苦思冥想了很久终于把问题解出来,结果发现答案是0,久而久之林记在得到习题答案是0的时候就没有了做出一道难题的成就感.于是林记决定:以后出题,答案一定不能是0,例如求n!最低位非零数这样的习题就很不错了. 现在林记提出了一个更难一点的问题:求n!在K进制下的最低位非零数.其中K符合一些特殊的条件:K是由若干个互不相同的质数相乘得出来的,例如K=2,3,5,6,7,10…… 输入格式: 首先输入的第一行是一个整数Q,表示询问的个数. 接下来是Q个

C++ 求阶乘 四种方法

来总结下求阶乘的各种方法哈. 写在最前:①各个代码仅仅是提供了求阶乘的思路,以便在实际须要时再来编码,代码并不健壮!②各个程序都在1到10内測试正确. 代码一: #include<iostream> using namespace std; int fac(int); int main() { int n; while(cin>>n) { cout<<n<<"!= "<<fac(n)<<endl; } return

一起talk C栗子吧(第三回:C语言实例--求阶乘)

各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例.闲话休提, 言归正转.让我们一起talk C语言实例吧! 看官们,上一回中咱们说的是判断闰年的例子,这一回咱们说的例子是:求阶乘. 看官们,阶乘是数学中的一种运算,通常使用感叹号来表示阶乘.比如:3!表示3的阶乘.阶乘的定义是这 样的:正整数n=0时,n的阶段乘为1,n>0时,n的阶乘为n*(n-1)!. 看官们,我在程序中使用了两种方法来求阶乘.一种是递归方法,另外一种是循环方法.正文中就不写代 码了,详细的

Java50道经典习题-程序21 求阶乘

题目:求1+2!+3!+...+20!的和分析:使用递归求解 0的阶乘和1的阶乘都为1 public class Prog21{ public static void main(String[] args){ long sum=0L; for(int i=1;i<=20;i++) { sum+=factorial(i); } System.out.println(sum); } //递归求阶乘 public static long factorial(int n) { if(n==0||n==1