#include using namespace std;int n(int num){ int r = 1; for(int i=1;i<=num;i++){ r*=i; } return r;}int main(){ cout<
20!已经远远走出抄4字节整型范围袭,所以要2113用8字节整型或双精度浮5261点型来完成。下面4102给出1653两种写法供选用。
include "stdio.h" int fac(int k) { if(k==1) return 1; else return k*fac(k-1); }/*递归求阶乘*/ void main() { int i=1; for(i;i=5;i++) { fac(i);/*调用函数计算阶乘*/ sum+=fac(i);/*计算从1的阶乘到5的阶乘之和*/ } printf("sum=%d",su
(1)用8字节整型(long long型或__int64型)
#include int factorial(int n){int res = 1;for (int i = 2; i
#include "stdio.h"
#includefun(int n){int i,sum=0,t=1;for(i=1;i
__int64 f(int n){
//头文件名:jiecheng.h //可以自定义一个更好的名字 写的时候选择"文件"->"新建"->"文件"->"C/C++Header File" 文件保存在:安装目录->"VC98"->"Include"文件夹 int fac (int n){int i, sum = 1;for (i=1; i
if(n==1 || n==0)
1、打开vs2017软件,新建c语言的工程,首先开头引入头文件,然后调用先调用一下求阶乘的函数和空的主函数,最下方定义prime函数用来求阶乘: 2、主函数中用scanf函数接受用户输入的的数字,接着将输入的数传入处理阶乘的函数中完成计算,最后输
return 1;
return n*f(n-1);
}
int main(int argc,char *argv[]){
printf("20! = %I64d\n",f(20));
return 0;
}
代码格式和运行结果图片:
(2)用double型完成
#include "stdio.h"
#includefun(int n){int i,sum=0,t=1;for(i=1;i
double f(int n){
if(n==1 || n==0)
1、打开vs2017软件,新建c语言的工程,首先开头引入头文件,然后调用先调用一下求阶乘的函数和空的主函数,最下方定义prime函数用来求阶乘: 2、主函数中用scanf函数接受用户输入的的数字,接着将输入的数传入处理阶乘的函数中完成计算,最后输
return 1;
return n*f(n-1);
}
int main(int argc,char *argv[]){
printf("20! = %.0f\n",f(20));
return 0;
}
代码格式与运行结果图片:
#include int main(void){ __int64 sum,i,t; for(t=sum=1,i=2;i<21;sum+=t*=i++); printf("1!2113+2!+3!+...+20! = %I64d\n",sum); return 0;}如果你的平台没5261有__int64型,可以4102用1653long long型。如版果也没有那就用double型,但结果不很精准权,|# includelong f(int n){if(n==0||zhin==1)daoreturn 1;elsereturn n*f(n-1);}int main(void){int i,n=20;long sum=0;for(i=1;i<=n;i++)sum=sum+f(i);printf("%ld\n",sum);return 0;}具体的你回再答看看内容来自www.mh456.com请勿采集。