首页 > 其他分享 >阶乘和

阶乘和

时间:2022-12-13 16:04:24浏览次数:35  
标签:__ int sum unsigned int64 阶乘 fac


#include <stdio.h>

// __int64的范围是 [0, 2^64),即0~18446744073709551615(约1800亿亿)
static unsigned __int64 sum_fac(int n);

int main(void)
{
printf("test sum_fac function.\n\n");
for(unsigned int k=0; k<20; k++)
{
printf("k=%dth e sum is: %llu\n",k,sum_fac(k));
}

getchar();
return 0;
}

/* long sum_fac(int n)
作用:求解1!+2!+3!+...+N! ,即阶乘和。
*/

unsigned __int64 sum_fac(int n)
{
if(0 == n)
return 1L;

unsigned __int64 sum = 0;

//Calc
unsigned __int64 tmp = 1;
for(unsigned int i=1;i<=n;i++)
{
tmp *= i;
sum += tmp;
}

return sum;
}


标签:__,int,sum,unsigned,int64,阶乘,fac
From: https://blog.51cto.com/u_15911341/5934368

相关文章

  • 使用函数求解并输出阶乘值,输入n,输出n!值。
    #include<stdio.h>intsum(intn)//被调函数中进行计算{ inti,p=1; for(i=1;i<=n;i++) p=p*i; returnp;//返回函数值}intmain(){ ints,i,n; ......
  • noi 1.5 34 求阶乘的和
    描述给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!)输入输入有一行,包含一个正整数n(1<n<12)。输出输出有一行:阶乘的和。样例输入5样例输出153题......
  • noi 34 求阶乘的和
    noi34求阶乘的和描述给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!)输入输入有一行,包含一个正整数n(1<n<12)。输出输出有一行:阶乘的和。样例输入......
  • C语言-求一个数的阶乘(递归法)
    1.函数调用#include<stdio.h>intFac(intn){inti,ret=1;for(i=1;i<=n;i++){ret*=i;}returnret;}intmain(void){intn=0,set;scanf("%d",......
  • 前n项阶乘之和的两种形式.C
    方法一#include<stdio.h>intmain(){ inta,i,n,sum,b;printf("请输入:");scanf("%d",&a);for(n=1;n<=a;n++){ intb=1; for(i=1;i<=n;i++) { b=b*i; } sum......
  • 82:递归函数_阶乘计算案例
    【操作】使用递归函数计算阶乘(factorial)deffactorial(n):ifn==1:return1returnn*factorial(n-1)foriinrange(1,6):print(i,......
  • 洛谷刷题_P1009 [NOIP1998 普及组] 阶乘之和
    题目P1009[NOIP1998普及组]阶乘之和题目链接https://www.luogu.com.cn/problem/P1009知识点求阶乘正常做法:#include<stdio.h>longlongjiecheng(longlongn)......
  • 【题解】洛谷 P1134 [USACO3.2]阶乘问题
     1#include<iostream>2usingnamespacestd;34intmain(){5intn;6cin>>n;7intc=1,a=0,b=0;8for(inti=1;i......
  • 阶乘的算法
    #include<stdio.h>intmain(){ intn; scanf("%d",&n); intface=1; inti=1;while(i<=n){ face*=i; i++; }printf("%d!=%d\n",n,face);}n=1*2*3*4…......
  • C语言求n的阶乘
    #include<stdio.h>int main(){int i=0;int n=0;int ret=1;//这里赋值不能为0,如果为0,求得结果就为0for(i=1;i<=n;i++){ret=ret*i  ;//这里也可以写为ret*=i}print......