只会用这简单的递归求阶乘

public  class  阶乘{

public  static  int  A(int n){

if(n==1)

return 1;  //注释:1的阶乘为1;

else  if(n==0)

return 1;  //注释:0的阶乘为1;

else

return  A(n-1)*n;  //注释:除0、1外,n!=n*(n-1)*(n-2)*···*2*1;

}

public  static  void  main(String[]  args){

System.out.println(阶乘.A(6));  //注释:A()括号内为要求的数n;

}

}

原文地址:https://www.cnblogs.com/aa2178d2/p/8673209.html

时间: 2024-10-27 18:41:31

只会用这简单的递归求阶乘的相关文章

利用递归求阶乘

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

比较喜欢的一种求阶乘的方法:用递归求阶乘

/** * 求n的阶乘 *细细品味,回味无穷 * @param num */ //要点:用递归,得给方法的一个结束条件,此题递归结束条件就是num==1 public static int getFactorial(int num){ return num==1 ? 1 : num*getFactorial(num-1); }

递归求阶乘

输入0到9的数字计算其阶乘: public class Test1 { public static void main(String[] args) { Scanner sca = new Scanner(System.in); System.out.println("请输入一个数[0,10):"); int a = sca.nextInt(10); if(a>9||a<0){ System.out.println("输入的数不正确..."); }els

基本递归(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&

C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈

递归是一种强有力的技巧,但和其他技巧一样,它也可能被误用. 一般需要递归解决的问题有两个特点: 存在限制条件,当符合这个条件时递归便不再继续: 每次递归调用之后越来越接近这个限制条件. 递归使用最常见的一个例子就是求阶乘,具体描述和代码请看这里:C语言递归和迭代法求阶乘 但是,递归函数调用将涉及一些运行时开销--参数必须压到堆栈中,为局部变量分配内存空间(所有递归均如此,并非特指求阶乘这个例子),寄存器的值必须保存等.当递归函数的每次调用返回时,上述这些操作必须还原,恢复成原来的样子.所以, 基