C语言中输入正整数n(2<n<3000),输出n!最后不等于0的两位数。 如输入5输出12,输入7输出04。
时间: 2024-05-15 13:18:07 浏览: 10
好的,我理解了你的问题。这里是我给出的解法:
```
#include <stdio.h>
int main()
{
int n, factorial = 1;
scanf("%d", &n);
for (int i = 2; i <= n; i++)
{
factorial *= i;
while (factorial % 100 == 0)
{
factorial /= 100;
}
factorial %= 10000;
}
printf("%02d\n", factorial % 100);
return 0;
}
```
这段代码可以解决你的问题。它的思路是先计算出 n!,然后一位一位地判断,如果当前的末尾有 0,就把它去掉,最后只保留最后的两位。
希望能对你有所帮助!
相关问题
C语言中输入正整数n(2<n<3000),输出n!最后不等于0的两位数。
好的,我明白了。对于这个问题,可以使用数学上的方法来解决。我们需要计算n!并找到最后不等于0的两位数。
首先,我们可以使用循环来计算n!。具体地,我们从1到n依次乘上所有的正整数。
接下来,我们需要找到n!的末尾有多少个0,因为这些0会影响我们找最后不为0的两位数。具体地,n!的末尾有多少个0取决于n!中因数5的个数。因为每个因数5都可以和一个因数2相乘得到一个因数10,所以n!末尾0的个数等于n!中因数5的个数。因此,我们可以通过循环来计算n!中因数5的个数。
最后,我们可以通过循环将n!除以10直到最后两位不为0,然后输出这两位数。具体地,我们可以使用一个while循环,每次判断n!对10取余是否为0,若是,则将n!除以10。
下面是C语言的代码实现:
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数n (2 < n < 3000): ");
scanf("%d", &n);
// 计算 n!
int i, j;
long long factorial = 1;
for (i = 1; i <= n; i++) {
factorial *= i;
}
// 计算 n! 中因数 5 的个数
int count = 0;
for (i = 5; i <= n; i += 5) {
j = i;
while (j % 5 == 0) {
count++;
j /= 5;
}
}
// 将 n! 不断除以 10 直到最后两位不为 0
while (factorial % 100 == 0) {
factorial /= 10;
}
// 输出最后不为 0 的两位数
printf("n! 最后不为 0 的两位数为: %lld\n", factorial % 100);
return 0;
}
c语言中输入正整数n(2<n<3000),输出n!最后不等于0的两位数
您好!我明白您的问题,我可以帮您解答。
以下是一个可以计算 n! 的 C 语言程序:
```
#include <stdio.h>
int main() {
int n, product = 1;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
product *= i;
while (product % 10 == 0) {
product /= 10;
}
product %= 100;
}
printf("%02d\n", product);
return 0;
}
```
程序首先读入一个正整数 n,并初始化变量 product 为 1。接着使用一个 for 循环计算 n!,并在每次乘法后通过 while 循环除掉末尾的 0,最后对答案取模 100 即可得到最后的不为 0 的两位数。
希望能对您有所帮助!
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)