列表

详情


GP39. 数字的阶乘

描述

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

知识点:

      递归,就是在运行的过程中调用自己。 一个函数调用自己,就叫做递归函数。构成递归需具备的条件:
      子问题须与原始问题为同样的事,且更为简单。
      不能无限制地调用本身,须有个出口,化简为非递归状况处理。

示例1

输入:

1

输出:

1

示例2

输入:

2

输出:

2

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Go 解法, 执行用时: 3ms, 内存消耗: 844KB, 提交时间: 2022-07-09

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param i int整型 数字
 * @return int整型
*/
func factorial( i int ) int {
    // write code here
    if i <= 1 {
        return 1
    }
    return i * factorial(i-1)
}

Go 解法, 执行用时: 3ms, 内存消耗: 852KB, 提交时间: 2022-05-26

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param i int整型 数字
 * @return int整型
*/
func factorial( i int ) int {
	// write code here
	if i == 0{
		return 1
	}
	return i * factorial(i-1)
}

Go 解法, 执行用时: 3ms, 内存消耗: 860KB, 提交时间: 2022-06-09

package main;

func factorial(i int) int {
	if i == 0 || i == 1 {
		return 1;
	}
	return i * factorial(i-1);
}

Go 解法, 执行用时: 3ms, 内存消耗: 868KB, 提交时间: 2022-07-23

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param i int整型 数字
 * @return int整型
*/
func factorial( i int ) int {
    // write code here
    if i ==0{
        return 1
    }else if i<=2{
        return i
    }else{
        return factorial(i-1)*(i)
    }
}

Go 解法, 执行用时: 3ms, 内存消耗: 896KB, 提交时间: 2022-06-17

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param i int整型 数字
 * @return int整型
*/
func factorial( i int ) int {
    if i == 1 {
        return 1
    }
    return i * factorial(i-1)
}

上一题