面试题目:

要求:输入两个整数 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);

}


 

 

你可能感兴趣的:(面试题)