比如6=1+5 6=2+4 6=3+3 6=1+1+4 ...
直接上代码:(因为课是C语言课,就不用c++了,栈写起来麻烦,直接用数组换了)
#include <stdio.h>
#include <memory.h>
#define MAXSTACK 100
unsigned int string[MAXSTACK] = { 0 };
unsigned int pos = 1;//NEXT POSITION
unsigned int number;
void divide(int n)
{
if (n <= 1){
return;
}
int i = 1;
for (i=n/2; i>=string[pos-1]&&i>=1; i--)
{
unsigned int j;
printf("%d=", number);
for (j