0
已采纳
张睿杰
初级天翼
初级天翼
int up(int m,int n)
{
if(m==0||n==1) return 1;
else if(m<n) return up(m,m);
else return up(m-n,n)+up(m,n-1);
}
然后主程序里面
定义整形m,n;
输入m,n
输出up(m,n)
别忘了声明函数
张睿杰在2018-01-26 16:02:25追加了内容
顺便告诉你2182 放橘子和这个差不多
主程序改一下
int t,k,a[21];
int m,n;
cin>>t;
k=t;
while(t--)
{
cin>>m>>n;
a[t]=up(m,n);
}
while(k--) cout<<a[k]<<endl;
1
杨喆
初级守护
初级守护
搜索的函数有三个参数,第一参数n表示还有多少数需要分,第二个参数k表示分了第几个数了,第三个参数t表示当前应该从哪个数开始遍历。因为不允许重复,所以第三个参数的主要作用就是传上一次填的数,然后从这个数开始遍历,就保证新填的数比之前的大。
所以主函数一开始调用(n,k,1)
0
0
0