C语言 求a!+ b!的值

img

C语言程序设计题目,如图所示,ヾ(´∀`。ヾ)(◕ˇ∀ˇ◕)

非递归法:

#include<stdio.h>
 
long long f(int x)
{
    long i;
    long long s=1; 
    if (x<2) return 1;
    for (i=1;i<=x;i++)
        s *= i;
    return s;
}
 
int main()
{
    int a,b;
    scanf("%d", &a);
    scanf("%d", &b);
    printf("%lld\n",f(a)+f(b));
    return 0;
}

解答如下

img

#include <stdio.h>
int f(int n)
{
    int mul=1;
    for(int i=1;i<=n;i++)
        mul*=i;
    return mul;
}
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",f(a)+f(b));
    return 0;
}

#include <stdio.h>
int f(int n)
{
    int mul=1;
    for(int i=1;i<=n;i++)//直接for循环累乘数字,
        mul*=i;
    return mul;
}
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",f(a)+f(b));   //两个数都调用函数
    return 0;
}

 
#include <stdio.h>
int f(int m)
{
    int mul=1;
    for(int i=1;i<=m;i++)//直接for循环累乘数字,
        mul*=i;
    return mul;
}
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",f(a)+f(b));   //两个数都调用函数
    return 0;
}

你题目的解答代码如下:

#include<stdio.h>

long long int f(int x)
{
    if (x==1) return 1;
    return x*f(x-1);
}

int main()
{
    int a,b;
    scanf("%d", &a);
    scanf("%d", &b);
    printf("%lld\n",f(a)+f(b));
    return 0;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

文章:C语言:A+B的几种实现方式中也许有你想要的答案,请看下吧