| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 6526 人关注过本帖
标题:100的阶乘怎么写
只看楼主 加入收藏
星星的光芒
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-11-12
结帖率:0
  问题点数:0  回复次数:8   
100的阶乘怎么写
100的阶乘怎么写
2014-12-17 20:07
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
  得分:0 
100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
2014-12-17 21:21
hu9jj
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:红土地
等 级:版主
威 望:344
帖 子:11286
专家分:42359
注 册:2006-5-13
  得分:0 
1*2*3......98*99*100

活到老,学到老! http://www.qs98.com E-mail:hu-jj@21cn.com
2014-12-19 07:56
_GAOYANG_
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-19
  得分:0 
同求...
2014-12-19 23:18
_GAOYANG_
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-19
  得分:0 
c++   递归   
#include<iostream>
using namespace std;
int jiecheng(int x)
{
    if(x==1) return 1;
    else return x*jiecheng(x-1);
}
int main()
{ int a;
cin>>a;
cout<<jiecheng(a)<<endl;
}
2014-12-19 23:32
殇回忆
Rank: 2
等 级:论坛游民
帖 子:11
专家分:12
注 册:2014-12-20
  得分:0 
#define MAXLEN 300/*假设做的是300的阶乘,自己可修改*/
#define MAXSUM 300/*用来存放阶乘结果的数组最大长度*/
#include <stdio.h>
#include <math.h>
main()
{
 int i,j,k,n,sum,s;
 int a[MAXSUM];
 for(i=0;i<MAXSUM;i++)
 {
 a[i]=0;
 }//数组赋初值
        a[0]=1;
        for(i=1;i<=MAXLEN;i++)
        {
                for(j=MAXSUM-1;j>=0;j--)
                {
                        if(a[j]!=0)
                        {
                                n=j+1;
                                break;
                        }
                }//确定阶乘结果保存到数组中,存到数组的第几个元素
             for(k=0;k<n;k++)
                {
                        a[k]=a[k]*i;
                }//对存入数组中的数进行乘法运算
                for(k=0;k<n;k++)
                {
                        sum=a[k];
                        if(sum/100>0)
                        {
                                a[k]=sum%100;
                                a[k+1]=a[k+1]+sum/100;
                        }
                }//乘法完成后进行进位
        }
                for(s=n;s>=0;s--)
                {
                if(a[s]>=10)
                printf("%d",a[s]);
                else printf("0%d",a[s]);
                }//打印完成的阶乘结果(由于03在数组中只显示3故进行相关操作补足
                printf("\n");
}
2014-12-20 17:02
Ffufu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-12-30
  得分:0 
//c语言
#include<stdio.h>
int main(void)
{
  int i,sum=1;
  for(i=1;i<=100;i++)
   sum*=i;
  printf("100!=%d/n",sum);
  return 0;
}
2014-12-30 11:53
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:367
帖 子:12742
专家分:49749
注 册:2012-10-18
  得分:0 
以下是引用Ffufu在2014-12-30 11:53:43的发言:

//c语言
#include<stdio.h>
int main(void)
{
  int i,sum=1;
  for(i=1;i<=100;i++)
   sum*=i;
  printf("100!=%d/n",sum);
  return 0;
}



这位同学不是开玩笑吧  回复别人的帖子(尤其是代码) 怎么的也得自己运行是合格的

DO IT YOURSELF !
2014-12-30 13:27
贺晋飞
Rank: 2
来 自:山西
等 级:论坛游民
帖 子:10
专家分:18
注 册:2015-1-6
  得分:0 
#include<stdio.h>
#define MAX 100
int sum[200],len;
void rec(int n)
{
    int i;
    for(i=len;i>=0;i--)
        sum[i]*=n;
}
void add()
{
    int i=0;
    for(i=0;i<=len;i++)
        if(sum[i]>=10)
        {
            sum[i+1]+=sum[i]/10;         
            sum[i]=sum[i]%10;  
        }
    for(i=len;i>=0;i--)
        if(sum[i]!=0)
        {
            len=i;
            break;
        }
}
int main()
{
    int i;
    sum[0]=1;
    for(i=1;i<200;i++)
        sum[i]=0;
    for(i=2;i<=MAX;i++)
    {
        rec(i);
        len+=2;
        add();
    }
    for(i=len;i>=0;i--)
        printf("%d",sum[i]);
    return 0;
}
这样写清楚一点吧

加油
2015-01-07 11:41







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045147 second(s), 7 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved