输入两个整数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;
}