求1到20的阶乘的和c语言
⑴ c语言求1-20的阶乘之和
/*
sum = 2561327494111820313
Press any key to continue
*/
#include<stdio.h>
intmain(){
__int64fact=1,i,sum=0;
for(i=1;i<21;++i) {
fact*=i;
sum+=fact;
}
printf("sum=%I64d ",sum);
return0;
}
⑵ 求1到20的阶乘之和的c语言程序怎么编写
#include <stdio.h>
long jiecheng(int x)
{
long int i,k=1;
for(i=1;i<=x;i++)
k=k*i;
return k;
}
int main()
{
long int j,k=0;
int i;
for(i=1;i<=20;i++)
{
j=jiecheng(i);
k+=j;
}
printf("%ld ",k);
}
(2)求1到20的阶乘的和c语言扩展阅读:
用递归方法
#include<stdio.h>
int func(intn){
int m=0;
if(n==1){
return1;
}
m=n*func(n-1);
returnm;
}
int main(intargc,constchar*argv[]){
int sum=0;
for(inti=1;i<=20;i++)
{
sum=sum+func(i);
}
printf("%d\n",sum);
return0;
}
⑶ c语言 1到20阶乘之和,只要结果,别写过程,你们的过程只能让我这种小白彻底蒙蔽
#include<stdio.h>
#include"stdlib.h"
intmain()
{
doublefac(intn);
doublesum=0,m;
inti;
for(i=1;i<=20;i++)
m=fac(i);
sum+=m;
printf("%0.lf ",sum);
system("pause");
}
doublefac(intn)
{
doublem;
if(n==1)
m=1;
elsem=fac(n-1)*n;
return(m);
}
⑷ 1到20阶乘的和用c语言表达
#include <stdio.h>
long jiecheng(int x)
{
long int i,k=1;
for(i=1;i<=x;i++)
k=k*i;
return k;
}
int main()
{
long int j,k=0;
int i;
for(i=1;i<=20;i++)
{
j=jiecheng(i);
k+=j;
}
printf("%ld ",k);
}
(4)求1到20的阶乘的和c语言扩展阅读:
使用其他方法实现求1到20阶乘的和:
public class Main{
public static void main(String[] args){
int i,j;
int sum=0;
int a=1;
for(i=1;i<=20;i++){
for(j=1;j<=i;j++){
a*=j;
}
sum+=a;
}
System.out.print("sum=1!+2!+3!+...+20!="+sum);
}
}
⑸ 用C语言求1~20的阶乘之和!
/**
**程序描述:求求1~20的阶乘之和。
**算法思路:先求出每一项的阶乘值,然后将所有项的阶乘值相加。
*/
#include<stdio.h>
#defineN20
typedefunsignedlonglonguInt64;//自定义类型
//求出每一项阶乘值的函数
uInt64fact(intn)
{
inti;
uInt64s;
for(i=s=1;i<=n;i++)
s*=i;//从1开始循环累加相乘
returns;
}
intmain()
{
uInt64s;
inti;
for(i=1,s=0;i<=N;i++)
s+=fact(i);//从第1项开始循环累加每一项的阶乘值
printf("1!+2!+3!+……+20!=%llu ",s);
return0;
}