要求:输入两个整数 n 和 m,从数列 1,2,3.......n 中 随意取几个数, 

使其和等于 m 。


,要求将其中所有的可能组合列出来--不会做,求指点,


 

#include <stdlib.h>
typedef struct{
long first_number;
long secend_number;
} pair;

pair find_sum_number(int end_number,int sum_number)
{
pair number_pair;

memset(&number_pair,0,sizeof(number_pair));

int begin=1;
int end=end_number;

while(begin < end)
{
if(begin+end > sum_number)
end--;
if(begin+end < sum_number)
begin++;
if(begin+end == sum_number)
{
number_pair.first_number=begin;
number_pair.secend_number=end;
return number_pair;
}
}
return number_pair;
}

void main()
{
pair number_pair;
memset(&number_pair,0,sizeof(number_pair));
number_pair=find_sum_number(10,5);
printf("%ld\n",number_pair.first_number);
printf("%ld\n",number_pair.secend_number);
}