int* iNum[65535];
int iPos = 0;
void doWork(int iSum, int iNow)
{
int iStart = iNow;
iNum[iPos ++] = &iStart;
while(iSum - iStart > iStart)
{
doWork(iSum - iStart, iStart + 1);
for (int i=0; i<iPos; i++)
{
printf("%d + ", *iNum[i]);
}
printf("%d\n", iSum - iStart);
iStart ++;
}
iPos --;
}
int _tmain(int argc, _TCHAR* argv[])
{
char s[20] = {0};
scanf("%s", s);
int num = atoi(s);
doWork(num, 1);
getchar();
getchar();
return 0;
return 0;
}
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步