当前位置: 代码迷 >> C语言 >> 我是菜鸟,求助50!
  详细解决方案

我是菜鸟,求助50!

热度:754   发布时间:2008-06-15 18:24:33.0
我是菜鸟,求助50!
谁帮我编个五十的皆乘的程序啊
----------------解决方案--------------------------------------------------------
随便一本教程都有```
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main(void)
{
    printf("30414093201713378043612608166064768844377641568960512000000000000\n");
    return 0;
}
----------------解决方案--------------------------------------------------------
好 楼上的强
----------------解决方案--------------------------------------------------------
嘿嘿。。。。
那是太强了!~
----------------解决方案--------------------------------------------------------
大家发现没有。。其实这个问题很复杂。。。。
c语言里面30414093201713378043612608166064768844377641568960512000000000000
这么长的数据怎么表示。。
double好像也不行吧。。
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-15 11:45:23
wltysy

等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
  得分:0 
是啊,这么大的数据怎么定义数据类型?
----------------解决方案--------------------------------------------------------
水平有限,只能写一个常见的函数,看看可以吗?
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-15 11:52:07
卧龙孔明

等 级:贵宾
威 望:59
帖 子:3988
专家分:684
注 册:2006-10-13
  得分:0 
#include<stdio.h>
unsigned x[8000],n,p,i,j,t;
int main(void)
{
    while(scanf("%d",&n)!=EOF)
    {
      for(p=7998,x[7998]=1,x[7999]=0,i=1;i<=n;i++)
      {
        for(p--,x[p]=0,p--,x[p]=0,j=7998;j>p;j--) x[j]*=i,t=j+1,x[j]+=x[t]/100000,x[t]%=100000;
        while(!x[p]) p++;
      }
      printf("%u",x[p]),p++; for(;p<8000-1;p++) printf("%05u",x[p]); printf("\n");
    }
    return 0;
}
----------------解决方案--------------------------------------------------------
  相关解决方案