c语言实现:输入格式: 输入一个数N。1<=N<=1000000。 输出格式: 输出N!的最后5位数字。如果位数不够。请用0补齐。
时间: 2024-03-10 09:48:02 浏览: 33
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int res = 1;
// 计算n的阶乘
for (int i = 2; i <= n; i++) {
res = (res * i) % 100000; // 只保留最后五位
}
// 输出结果
if (res < 10000) { // 需要在前面补0
printf("0%d", res);
} else {
printf("%d", res);
}
return 0;
}
```
该程序首先读入n,然后利用循环计算n的阶乘,并将结果只保留最后五位。最后,程序输出结果,并在前面补0(如果需要)。需要注意的是,程序中每次计算都要保留最后五位,这可以通过取模运算实现(即在每次计算后将结果对100000取模)。
相关问题
输入格式: 输入一个数N。1<=N<=1000000。 输出格式: 输出N!的最后5位数字。如果位数不够。请用0补齐。并且用C语言编写程序
好的,根据您的要求,我可以为您提供一个使用C语言实现的程序来计算N!的最后5位数字。具体实现如下:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int result = 1;
for (int i = 1; i <= n; i++) {
result = (result * i) % 100000;
}
printf("%05d\n", result);
return 0;
}
```
在上述代码中,我们首先使用scanf函数来读入一个数N。然后,我们使用一个循环来计算N!,并将结果保存在变量result中。在每次循环中,我们将result乘以i,并对100000取模,这样可以保证result只保存最后5位数字。最后,我们使用printf函数来输出result的值,其中%05d表示输出一个5位数,不足5位时用0补齐。
希望我的回答能够帮助到您!
c语言数组实现:从键盘输入一个整数n ,编程输出n行的杨辉直角三角图形(n<=10)。
下面是使用 C 语言数组实现的代码,可以实现从键盘输入一个整数 n,然后输出 n 行的杨辉直角三角图形:
```c
#include <stdio.h>
int main() {
int n, i, j;
int a[10][10] = {0};
printf("请输入一个整数 n(n <= 10):");
scanf("%d", &n);
// 初始化杨辉三角
for (i = 0; i < n; i++) {
a[i][0] = 1;
for (j = 1; j <= i; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
// 输出杨辉直角三角形
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
运行示例:
```
请输入一个整数 n(n <= 10):5
1
1 2
1 3 3
1 4 6 4
1 5 10 10 5
```