| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1216 人关注过本帖
标题:我好蠢好蠢好蠢
只看楼主 加入收藏
清风一然
Rank: 2
等 级:论坛游民
帖 子:6
专家分:17
注 册:2011-6-19
收藏
得分:1 
楼上用的是C++,我就用我们学过的C吧
#include<stdio.h>
int main()
{
  double s=0.t=1;
  int n;
  for(n=1;n<=20;n++)
  {
    t=t*n;
    s=s+t;
   }
 printf("1!+2!+3!+...+20!=%22.15e\n",s)
 return 0;
}
2011-09-19 22:36
杰仔1997
Rank: 2
来 自:广东
等 级:论坛游民
帖 子:41
专家分:31
注 册:2011-6-2
收藏
得分:0 
无法给分啊。程序是错的
2011-09-21 12:46
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
收藏
得分:3 
用C语言写几个函数,算到200没有问题,再大的时间太长了。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<memory.h>
int result[10000];
int mul(int *a,int *b,int *c,int m,int n)
{
    int i,j,k,carry=0,sum;
    for(i=0;i<m+n-1;i++)
    {
        sum=0;
        for(j=0;j<m;j++)
            for(k=0;k<n;k++)
            {
                if(j+k==i)
                    sum+=a[j]*b[k];
            }
        sum+=carry;
        c[i]=sum%10;
        carry=sum/10;
    }
    if(carry)
    {
        c[i]=carry;
        return (m+n);
    }
    else
        return (m+n-1);
}
int factorial(int * ret,int n)
{
    int num[5];
    int temp[10000]={1};
    int i,j=0,k=1,m,d;
    for(i=1;i<=n;i++)
    {
        d=i;
        while(d)
        {
            num[j++]=d%10;
            d/=10;
        }
        k=mul(temp,num,ret,k,j);
        for(m=0;m<k;m++)
            temp[m]=ret[m];
        j=0;
    }
    return k;
}
int add(int *a,int *b,int m)
{
    int i;
    int carry=0,sum;
    for(i=0;i<m;i++)
    {
        sum=a[i]+b[i]+carry;
        a[i]=sum%10;
        carry=sum/10;
    }
    if(carry)
    {
        a[i]=carry;
        return (m+1);
    }
    else
        return m;
}
int factorSum(int * ret,int n)
{
    int temp[10000]={0},i,k,m=0,max=0;
    for(i=1;i<=n;i++)
    {
        k=factorial(temp,i);
        max=k>m?k:m;
        m=add(ret,temp,max);
    }
    return m;
}
int main()
{
    int i;
    int n=factorSum(result,20);
    for(i=n;i>0;i--)
        printf("%d",result[i-1]);
    printf("\n");
    return 0;
}






2011-09-21 20:32
Cai_xw1993
Rank: 2
等 级:论坛游民
威 望:1
帖 子:55
专家分:30
注 册:2011-9-5
收藏
得分:0 
观望中..得分走人
2011-09-22 15:57
fangzehao123
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-7-24
收藏
得分:0 
例如:1+1*2+1*2*3+1*2*3*4+1*2*3*4*5+……+N=!n
2011-09-22 17:21
快速回复:我好蠢好蠢好蠢
数据加载中...
 
   



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

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