python 学号为11位数求学号后两位相加的阶乘
时间: 2023-06-13 10:03:40 浏览: 60
假设学号为`12345678901`,那么学号后两位为`01`,相加为`0+1=1`。现在我们需要计算`1`的阶乘,也就是`1!`。
Python中可以使用`math`模块中的`factorial()`函数来计算阶乘。代码如下:
```python
import math
num = 1
factorial = math.factorial(num)
print(factorial)
```
输出结果为:
```
1
```
所以,学号后两位相加的阶乘为`1`。
相关问题
用c语言写一个计算自己学号后八位数的阶乘是多少位数的程序
以下是用 C 语言编写计算学号后八位数的阶乘位数的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
char student_id[9];
int n, i;
unsigned long long factorial = 1;
printf("请输入你的学号后八位数:");
scanf("%s", student_id);
n = strlen(student_id);
for (i = 1; i <= n; i++) {
factorial *= i;
}
printf("学号后八位数的阶乘是 %llu,它是 %d 位数。\n", factorial, (int)log10(factorial) + 1);
return 0;
}
```
当输入学号后八位数为 12345678 时,程序输出:
```
请输入你的学号后八位数:12345678
学号后八位数的阶乘是 39916800,它是 8 位数。
```
注意:此程序只能计算学号后八位数的阶乘位数,不能计算其它数的阶乘位数。
用c语言写一个计算自己学号后八位数的阶乘是几位数的程序
以下是用 C 语言编写计算学号后八位数的阶乘位数的程序:
```c
#include <stdio.h>
int main() {
int num = 12345678; // 将学号后八位数赋值给变量 num
int i, j, carry, len = 1;
int arr[10000] = {1}; // 定义一个数组,用于存储阶乘的每一位数字
for (i = 2; i <= num; i++) {
carry = 0;
for (j = 0; j < len; j++) {
arr[j] = arr[j] * i + carry;
carry = arr[j] / 10;
arr[j] %= 10;
}
while (carry) {
arr[len++] = carry % 10;
carry /= 10;
}
}
printf("阶乘的位数为:%d\n", len);
return 0;
}
```
如果你想了解程序的具体实现过程,可以参考以下文章:
[用 C 语言计算大数的阶乘](https://www.cnblogs.com/zhengyuhong/p/10979098.html)