题目
求表示方法 设 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 ",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 ",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));
}
不知道哪错了,求指导~
提问时间:2021-04-01
答案
先说下语法错误吧.自定义函数必须先申明.或放在引用该函数的函数的前面.在则.当n>m&&m=0;时n=m;使n=0;这时也应返回1;比如输入1 1时1=1;而你的程序将这种情况排除了.#includeint f(int m,int n){if(n>m) n=m;if(m==0)...
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
最新试题
热门考点