输入两个整数n和m

题目:

输入两个整数n和m,从数列1、2、3、...n中任意取几个数,使其和等于m,要求将其中所有可能的组合都列出来,请编程求解。

#include<iostream>
#include<vector>
using namespace std;
int main()
{ void sum(int*,int,int);
int a[10];
for(int i=0;i<10;i++)
a[i]=i;
int m=0;
while(cin>>m)
{sum(a,10,m);}



}
void sum(int *p,int n,int m)
{ int i=0;
int j=n-1;
int count=0;
for(i=0;i<n;i++)
{ for(j=n-1;j>i;j--)
{if((p[j]+p[i]==m)&&(p[j]!=p[i]))
{cout<<p[i]<<""<<p[j]<<endl;
count++;}}



}
if(count>0)
cout<<""<<count<<"种可能性"<<endl;
else
cout<<"没有"<<endl;

}



posted @ 2012-02-25 16:45  RINA  阅读(363)  评论(0编辑  收藏  举报