早教吧作业答案频道 -->其他-->
求表示方法设m、n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目.求表示方法设m、n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方
题目详情
求表示方法 设 m、n 均为自然数,m 可表示为一些不超过 n 的自然数之和,f(m,n) 为这种表示方式的数目.
求表示方法
设 m、n 均为自然数,m 可表示为一些不超过 n 的自然数之和,f(m,n) 为这种表示方式的数目.
例如,f(5,3)=5,有5种表示方法:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1.
请编写程序,计算f(m,n)的值.
#include
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",f(m,n));
}
int f(int m,int n)
{
if(n>m) n=m;
if(m==0&&n!=0) return (1);
if(m!=0&&n==0) return (0);
else if(m>=n)
return(f(m,n-1)+f(m-n,n));
}
不知道哪错了,求指导~
求表示方法
设 m、n 均为自然数,m 可表示为一些不超过 n 的自然数之和,f(m,n) 为这种表示方式的数目.
例如,f(5,3)=5,有5种表示方法:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1.
请编写程序,计算f(m,n)的值.
#include
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",f(m,n));
}
int f(int m,int n)
{
if(n>m) n=m;
if(m==0&&n!=0) return (1);
if(m!=0&&n==0) return (0);
else if(m>=n)
return(f(m,n-1)+f(m-n,n));
}
不知道哪错了,求指导~
▼优质解答
答案和解析
先说下语法错误吧.
自定义函数必须先申明.或放在引用该函数的函数的前面.
在则.当n>m&&m=0;时n=m;使n=0;这时也应返回1;
比如输入1 1时1=1;而你的程序将这种情况排除了.
#include
int f(int m,int n)
{
if(n>m) n=m;
if(m==0) return (1);
if(m!=0&&n==0) return (0);
else if(m>=n)
return(f(m,n-1)+f(m-n,n));
}
其实还可以化简为
#include
int f(int m,int n)
{
if(m==0) return 1;
if(n==0) return 0;
if(n>m) n=m;
return(f(m,n-1)+f(m-n,n));
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",f(m,n));
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",f(m,n));
}
自定义函数必须先申明.或放在引用该函数的函数的前面.
在则.当n>m&&m=0;时n=m;使n=0;这时也应返回1;
比如输入1 1时1=1;而你的程序将这种情况排除了.
#include
int f(int m,int n)
{
if(n>m) n=m;
if(m==0) return (1);
if(m!=0&&n==0) return (0);
else if(m>=n)
return(f(m,n-1)+f(m-n,n));
}
其实还可以化简为
#include
int f(int m,int n)
{
if(m==0) return 1;
if(n==0) return 0;
if(n>m) n=m;
return(f(m,n-1)+f(m-n,n));
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",f(m,n));
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",f(m,n));
}
看了 求表示方法设m、n均为自然数...的网友还看了以下:
一个点从数轴上的原点开始,先向右移动3个单位长度,再向左移动5个单位长度,可以看到终点表示的数是- 2020-04-05 …
如图所示的电路中,当可变电阻R的滑片向上滑动时()A.电压表V1的示数增大B.电压表V2的示数减小 2020-04-08 …
1、因为15除5=3,所以5是()的因数,15是5的().2、20以内的自然数中,奇数有1、因为1 2020-04-08 …
小红看一本书,每天看的页数和所看天数的情况如下表所看页数124610每天看的603015(1)把上 2020-04-27 …
若无理数A的整数部分是a,则它的小数部分可表示为A-a例如:π的整数部分是3,因此其小数部分可表示 2020-04-27 …
若对于定义在R上的函数f(x),其图象是连续不断的,且存在常数λ(λ∈R)且存在常数λ(λ∈R), 2020-05-13 …
不等式的解集在数轴上的表示方法.我给你们题.不等式的解集可以在()上直观的表示出来,在数轴上表示数 2020-05-15 …
给定81个数排成如图所示的数表,若每行的9个数与每列的9个数按表中顺序都构成等差数列 , 给定 2020-05-16 …
定义:a是不为1的有理数,把1-a分之一称为a的差倒数.如2的差倒数为1-2分之一=-1;-1的差 2020-05-16 …
“十一”黄金周期间,刘公岛景区在7天假期中每天接待的旅游人数变化情况如表(正数表示比前一天多的人数 2020-05-17 …