c语言补全程序
答案:1 悬赏:20 手机版
解决时间 2021-04-03 12:27
- 提问者网友:暮烟疏雨之际
- 2021-04-02 13:19
c语言补全程序
最佳答案
- 五星知识达人网友:西风乍起
- 2021-04-02 13:38
题的输出应该有问题,我数了一下2*2的应该有6种方法,你可以自己数一下。
#include "stdio.h"
int main(void)
{
int m,n;
scanf("%d%d",&m,&n);
long res1=1,res2=1,res3=1;
for(int i=2;i<=m+n;i++)
res1*=i;
for(int i=2;i<=m;i++)
res2*=i;
for(int i=2;i<=n;i++)
res3*=i;
printf("%d\n",res1/(res2*res3));
return 0;
}追问你怎么数出6种的???只有两种啊追答我知道了,题是数格子,我数成了边。改了一下,应该可以了。
#include "stdio.h"
int main(void)
{
int m,n;
scanf("%d%d",&m,&n);
long res1=1,res2=1,res3=1;
for(int i=2;i<=m+n-2;i++)
res1*=i;
for(int i=2;i res2*=i;
for(int i=2;i res3*=i;
printf("%d\n",res1/(res2*res3));
return 0;
}追问
追答越界了,用int64试一试,如果不行就肯定要自己写阶乘的函数。
#include "stdio.h"
int main(void)
{
int m,n;
scanf("%d%d",&m,&n);
long res1=1,res2=1,res3=1;
for(int i=2;i<=m+n;i++)
res1*=i;
for(int i=2;i<=m;i++)
res2*=i;
for(int i=2;i<=n;i++)
res3*=i;
printf("%d\n",res1/(res2*res3));
return 0;
}追问你怎么数出6种的???只有两种啊追答我知道了,题是数格子,我数成了边。改了一下,应该可以了。
#include "stdio.h"
int main(void)
{
int m,n;
scanf("%d%d",&m,&n);
long res1=1,res2=1,res3=1;
for(int i=2;i<=m+n-2;i++)
res1*=i;
for(int i=2;i
for(int i=2;i
printf("%d\n",res1/(res2*res3));
return 0;
}追问
追答越界了,用int64试一试,如果不行就肯定要自己写阶乘的函数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯