| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1412 人关注过本帖
标题:[求助]1!+2!+3!+.......+n!的值??
只看楼主 加入收藏
悠悠我心lxc
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2010-4-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
[求助]1!+2!+3!+.......+n!的值??
#include"stdio.h"
main()
{int i,s=1,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s+i*s;
printf("%d\n",s);
}
1!+2!+3!+.......+n!的值??
搜索更多相关主题的帖子: include 
2010-04-22 17:26
zhecool
Rank: 2
等 级:论坛游民
帖 子:8
专家分:39
注 册:2010-3-31
收藏
得分:5 
#include <stdio.h>
int main (void)
{
    int n, i, j, m;
    int s=0;                           //s一开始应该是初始化为0的,这个你的程序中有错
   
    printf ("n=?\n");
    scanf ("%i", &n);

    for (i=1; i<=n; ++i)
    {
        m=1;                           //m的值在内循环中会有变化,所以放在外循环中赋值为1,以保证n!的值
        for (j=1; j<=i; ++j)
            m=m*j;
        s=s+m;
    }

    printf ("%i\n", s);
    return 0;
}

如果说输入的n比较大,结果可能会很大,可以考虑把几个变量声明为long int

PS:我也是初学,前几天碰到个类似的问题,有兴趣可以看一看我的笔记http://student.,嘿嘿当时我也是走了不少弯路的

[ 本帖最后由 zhecool 于 2010-4-22 18:07 编辑 ]
2010-04-22 17:59
ychf890225
Rank: 4
等 级:业余侠客
帖 子:85
专家分:221
注 册:2010-4-15
收藏
得分:5 
#include<stdio.h>
int num(int n)
{
    int s=1;
    int p=1;
    for(s=1;s<=n;s++)
    p*=s;
    return p;
}
main()
{

    int i,a,b=0;
    printf("num:\n");
    scanf("%d",&a);
    for(i=1;i<=a;i++)
    b+=num(i);

    printf("%d\n",b);

    return 0;
}
2010-04-22 18:18
chichu
Rank: 2
来 自:安徽阜阳
等 级:论坛游民
帖 子:71
专家分:89
注 册:2010-4-14
收藏
得分:3 
因为n的值没确定,所以我觉得用int不合适,下面是我编的
#include"stdio.h"
#include"math.h"
#include"iostream.h"
unsigned long fun(int m)
{
    int i=1;
    unsigned long t;
    for(i=1;i<=m;i++)
        t*=i;
    return(t);
}
void main()
{
    unsigned long fun(int n);
    int j,n;
    cin >> n;
    unsigned long sum=0;
    unsigned long k;
    for(j=1;j<=n;j++)
    {
        k=fun(j);
        sum+=k;
    }
    cout<<sum<<endl;
}

有了目标才有动力!!!
2010-04-22 20:57
mjw1124
Rank: 2
来 自:湖北武汉
等 级:论坛游民
帖 子:48
专家分:48
注 册:2010-4-17
收藏
得分:2 
#include<stdio.h>
double fact(int n);
int main(void)
{
    int i,n;
    double sum;
    printf("Enter n:");
    scanf("%d",&n);   
    sum=0;
    for(i=1;i<=n;i++){
        sum=sum+fact(i);        
    }
    printf("sum=%lf\n",sum);
    return 0;
}
double fact(int n)
{
    int i;
    double product;
    product=1;
    for(i=1;i<=n;i++){
        product=product*i;
    }
    return product;
}

这个可以的
2010-04-22 21:07
itma
Rank: 4
等 级:业余侠客
帖 子:105
专家分:266
注 册:2010-2-8
收藏
得分:0 
程序代码:
#include<stdio.h>

int main()
{
    int s=0, m=1, n,k,i;
    printf("请输入n的值:");
    scanf("%d",&n);
    for(k=1;k<=n;k++)
    {
        for(i=1;i<=k;i++)
        {
            m*=i;
        }
        s+=m;
     }
   printf("%d\n",s);
}


[ 本帖最后由 itma 于 2010-4-23 01:30 编辑 ]
2010-04-23 01:18
liquan1989
Rank: 2
等 级:论坛游民
帖 子:27
专家分:12
注 册:2010-1-18
收藏
得分:5 
程序代码:
main()
{ int i;
double n,s=0,t=1;
scanf("%d",&i);
for(n=1;n<=i;n++)
{
t*=n;
s+=t;
}
printf("1+2!+3!...+n!=%f\n",s);
}
我是新手 貌似这个也不对 精度问题 还是小了··

[ 本帖最后由 liquan1989 于 2010-4-23 02:00 编辑 ]
2010-04-23 01:37
张君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:57
专家分:113
注 册:2010-5-13
收藏
得分:0 
#include<stdio.h
main ()
{
int n;/*求几的阶乘*/
float sun1=1,i,sum2=0;/*sum1是n!,sum2是n!的和*/(之所以定义为float是因为求的和的长度问题)
printf("please put into n");
scanf ("%d",&n);
if (n==1||n==0)
 { sum1=1;
  sum2=1;
  }
else
for (i=1;i<=n;i++)
 {sum1*=i;
  sum2=sum2+sum1;
 }
printf("sum1=%d,sum2=%d",sum1.sum2);
}


做自己就好,保持自己,记得微笑
2010-05-14 19:58
青春任我飞
Rank: 1
来 自:山西大同
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-5-10
收藏
得分:0 
以下是引用itma在2010-4-23 01:18:07的发言:

#include
 
int main()
{
    int s=0, m=1, n,k,i;
    printf("请输入n的值:");
    scanf("%d",&n);
    for(k=1;k<=n;k++)
    {
        for(i=1;i<=k;i++)
        {
            m*=i;
        }
        s+=m;
     }
   printf("%d\n",s);
}
我是新手,请问高人在for循环语句执行时,自增为啥不写成++K呢,以下同理,谢谢!
2010-05-15 23:57
zdyzhang
Rank: 9Rank: 9Rank: 9
来 自:栖息地
等 级:蜘蛛侠
威 望:4
帖 子:2335
专家分:1227
注 册:2008-9-20
收藏
得分:0 
很多类似题啊,论坛搜索下。

悲剧源于生活。
2010-05-16 00:00
快速回复:[求助]1!+2!+3!+.......+n!的值??
数据加载中...
 
   



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

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