#include <stdio.h>
/********** Begin **********/
//可以在此增加其他内容
void Cal2(int n,int i,int j,int k)
{
int i1=i,j1=j,k1=k;
if(n==0)
{
printf("%d %d %d \n",i1,j1,k1);
}
else if(n>=i1+j1*2+k1*5)
{
if(i1<=n)
Cal2(n-i1-2*j1-5*k1,i1+1,j1,k1);
if(i1+j1*2<=n)
Cal2(n-i1-2*j1-5*k1,i1,j1+1,k1);
if(i1+j1*2+k1*5<=n)
Cal2(n-i1-2*j1-5*k1,i1,j,k1+1);
}
}
void Cal(int n)
{
//在此补充代码完成Cal函数功能
int a = n;
Cal2(a,0,0,0);
}
int main()
{
int q;
scanf("%d",&q);
Cal(q);
}
/********** End **********/
这个代码输出有问题,不知道是哪里逻辑错了