当前位置 : 主页 > 编程语言 > java >

1088 N的阶乘

来源:互联网 收集:自由互联 发布时间:2022-08-10
问题描述 Description 请求N!(N=10000),输出结果对10007取余 输入 每行一个整数n,遇到-1结束。 输出 每行一个整数,为对应n的运算结果。 Sample Input 1 2 -1 Sample Output 1 2 Source ericxie 源代码


问题描述

Description
请求N!(N<=10000),输出结果对10007取余
输入
每行一个整数n,遇到-1结束。
输出
每行一个整数,为对应n的运算结果。

Sample Input
1
2
-1

Sample Output
1
2

Source
ericxie

源代码及详细注释

我们要求的是,N的阶乘,再对10007取余

#include <stdio.h>
int main()
{
int n,i;
while(scanf("%d",&n)&&n!=-1)
{
int s=1;
for(i=1;i<=n;i++)//求阶乘,并且每步取余
{
s=(s*i)%10007;
}
printf("%d\n",s);
}
return 0;
}

上面的代码是对的,下面的代码是错的,请仔细比对下,为什么,可以在评论区里写下你的解答哦

#include <stdio.h>
int main()
{
int n,i,s=1;
while(scanf("%d",&n)&&n!=-1)
{
for(i=1;i<=n;i++)//求阶乘,并且每步取余
{
s=(s*i)%10007;
}
printf("%d\n",s);
}
return 0;
}

写于2021年8月4日23:25分。


上一篇:XTU 1103 日期
下一篇:没有了
网友评论