文章
29
粉丝
598
获赞
17
访问
282.3k
#include<stdio.h>
int main()
{
int n,i,j,temp,carry,dight;
while(scanf("%d",&n)!=EOF)
{
dight=0;carry=0;
int a[10000]={1};
for(i=2;i<=n;i++)
{
for(j=0;j<=dight;j++)
{
temp=a[j]*i+carry; //a[0]是n-1阶乘的个位 十位 百位 以此类推 n的阶乘就是拿n乘n-1阶乘的个位 把得到的数%10做为新的个位 carry是进位,
a[j]=temp%10; //如4x5=20, 新的个位是0,Carry为2,2要加到下一个百位,然后是百位 千位.......
carry=temp/10;  ...
登录后发布评论
暂无评论,来抢沙发