oracle 存储函数实现阶乘
时间: 2023-07-27 20:12:38 浏览: 60
下面是一个 Oracle 存储函数实现阶乘的示例:
```
CREATE OR REPLACE FUNCTION factorial(n IN NUMBER) RETURN NUMBER IS
result NUMBER := 1;
BEGIN
FOR i IN 1..n LOOP
result := result * i;
END LOOP;
RETURN result;
END;
```
这个函数使用一个 FOR 循环来计算输入参数 n 的阶乘,并返回计算结果。在循环中,我们从 1 开始迭代,每次将当前计算结果与迭代计数器相乘,然后将结果存储回结果变量中。最后,我们返回计算结果。
相关问题
c语言用函数实现阶乘
以下是两种C语言用函数实现阶乘的例子:
1. 使用递归函数实现阶乘
```c
#include <stdio.h>
long factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n;
printf("Input n:");
scanf("%d", &n);
printf("%d!=%ld\n", n, factorial(n));
return 0;
}
```
2. 使用循环函数实现阶乘
```c
#include <stdio.h>
long factorial(int n) {
long pro = 1;
for (int i = 1; i <= n; i++) {
pro *= i;
}
return pro;
}
int main() {
int n;
printf("Input n:");
scanf("%d", &n);
printf("%d!=%ld\n", n, factorial(n));
return 0;
}
```
shell利用函数实现阶乘
好的,这是一个利用函数实现阶乘的shell代码:
```
#!/bin/bash
factorial() {
if [[ "$1" -eq 0 || "$1" -eq 1 ]]; then
echo 1
else
echo $(($1 * $(factorial $(($1 - 1))))))
fi
}
echo "Enter a number to compute its factorial:"
read num
result=$(factorial $num)
echo "The factorial of $num is: $result"
```
这个脚本定义了一个名为 `factorial` 的函数,用于计算阶乘。首先检查输入的数是否为 0 或 1,如果是则返回 1,否则使用递归调用函数本身来计算阶乘。最后,将计算结果输出到屏幕上。