问题标题: 酷町堂:1178 用函数写,30分

0
1
已解决
周俊豪
周俊豪
高级光能
高级光能

#include<iostream>
using namespace std;
long long sum(long long n,int l){
    long long s=1,k=1,o=0;
    for(int i=1;i<=n;i++){
        s=s*i;
        for(int j=1;j<=l;j++){
        k=k*j;
    }
}
    o=o+s+k;
    return o;
}
int main(){
    long long n,l;
    cin>>n>>l; 
    cout<<sum(n,l);
    return 0;
}
这是我的错误代码!

求大佬解析与大概程序!

谢谢!

周俊豪在2018-07-21 23:53:50追加了内容

如果有时间的话,可以在我的程序上改一下,我会加酷町豆;

周俊豪在2018-07-21 23:56:26追加了内容

注意是用函数;


1
已采纳
郑怡翔
郑怡翔
初级天翼
初级天翼
int jc(int a,int b)//定义jc函数
{
    int sum=1,count=1;//定义变量,用来存储两个数的阶乘
    for(int i=1;i<=a;i++)
        sum*=i;//存储第1个数的阶乘
    for(int i=1;i<=b;i++)
        count*=i;//存储第2个数的阶乘
    return sum+count;//传到主函数,返回两个数阶乘的和
}

函数体如上

有什么其他的问题请在评论里发

 

1
杨子逸
杨子逸
新手天翼
新手天翼

函数:

int s(int x,int y)
{
    int sum=0,k=1,k1=1;
    for(int i=1;i<=x;i++)
    {
        k*=i;
    }
    for(int j=1;j<=y;j++)
    {
        k1*=j;
    }
    sum=k+k1;
    return sum;
}

主程序:

int i,j;
    cin>>i>>j;
    cout<<s(i,j);

思路:

先用求出1至x的阶乘,用k储存值。

然后求出1至y的阶乘,用k1储存值。

最后用sum加上k,k1的值返回。

 

0
我要回答