早教吧作业答案频道 -->其他-->
求表示方法设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均为自然数...的网友还看了以下:
某粮食生产专业户去年计划生产水稻和小麦共150吨,实际完成了170吨,其中水稻超产10%,小麦超产1 2020-03-31 …
求降雨量概率问题某地区年降雨量X服从正态分布N(100.100的平方)设各年降雨量相互独立,求从今 2020-05-13 …
求表示方法设m、n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目 2020-05-17 …
设数列{a}的前n项和为Sn,已知a1=a,an+1=Sn+3n次方设数列an的前n项和为Sn,已 2020-05-17 …
熙熙家附近的超市在春节期间想搞一个购物抽奖的活动.超市经理请熙熙帮忙设计一个抽奖方案,熙熙有些发愁 2020-06-19 …
设bn=an比Sn平方,求证b1+b2+.bn<1设数列{an}的前n项和为Sn,且满足S1=2, 2020-07-09 …
1/(x1的三次方)+1/(x2的三次方)!求设x1,x2是方程2(x的平方)-6x+3=0的两个 2020-08-02 …
一个工人限期生产一批零件每天生产10只就可超额3只每天生产11只就可提前1天完成,求加工零件数和规定 2020-11-05 …
一个工人限期生产一批零件每天生产10只就可超额3只每天生产11只就可提前1天完成求加工零件数和规定天 2020-11-05 …
求教数学的一个解题方法过点A(4,-1),且与圆:x²+y²+2x-6y+5=0相切于点的圆的方程设 2021-01-05 …