早教吧作业答案频道 -->其他-->
求表示方法设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均为自然数...的网友还看了以下:
科学家发现C60制取的化合物M有抑制艾滋病毒的作用,下列叙述不正确的是()A.C60是单质B.C6 2020-05-14 …
英语语法中的“M”是代表什么?我们都知道,在英语语法里,S代表主语,V代表谓语.那么请问下:M代表 2020-05-23 …
解下列各方程,其中m和n都是常数.答案以m和n表示.a)x∧2-mx+nx=mnb)x∧2-2解下 2020-06-07 …
M表示水的摩尔质量,V表示每个水分子的体积,那么M/(NA*V)是液态水的密度吗?可以表示水蒸气的 2020-06-27 …
已知O是锐角△ABC的外接圆的圆心,且∠A=θ,若cosB/sinC*向量ABcosC/sinB* 2020-07-30 …
初学.(负x上面指数是a+1)或指数是m±1….是表示什么.如何运算.式子我不会打.-x右上角的指数 2020-11-15 …
什么是位数?今天晚上看我们的微机书,看到里面有这么一句:存储器单片容量M*N的含义是:M表示该存储器 2020-11-21 …
用L,l,m表示k某种弹簧秤原来的长度为l,悬挂重物后的长度L可用公式L=l+k分之m表示某种弹簧秤 2020-12-05 …
若用M表示+2价较活泼金属,HX表示酸,M(OH)2表示可溶性碱,则:(1)该金属氧化物的表示符号是 2020-12-07 …
P=101010101010.1P是m位数,第一位和最后一位总是1,m为什么值时P是质数?我得到m= 2021-02-05 …