Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by zyonx ( 15 years ago )
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
void elimina_comunes(vector<int>& a, vector<int>& b){
for(vector<int>::iterator i=a.begin(); i!=a.end(); i++){
for(vector<int>::iterator j=b.begin(); j!=b.end(); j++){
if(*i == *j){
a.erase(i);
b.erase(j);
i--;
j--;
}
}
}
}
vector<int> factorial(int n){
int res=1;
vector<int> vec;
for(int i=1; i<=n; i++){
res*=i;
vec.push_back(i);
}
return vec;
}
vector<int> csr(int k, int n){
vector<int> res, numerador, denominador, dem1, dem2;
numerador = factorial(n);
dem1 = factorial(k);
dem2 = factorial(n-k);
for(int i=0; i<dem1.size(); i++)
for(int j=0; j<dem2.size(); j++){
if (dem1 > dem2)
denominador[dem1.size()]=dem1[i]*dem2[j];
else
denominador[dem2.size()]=dem1[i]*dem2[j];
for (int l=0; l<numerador.size(); l++)
for (int s=0; s<denominador.size(); s++)
res[numerador.size()]=numerador[l]/denominador[s];
return res;
}
/*
int ccr(int k, int n){
int num, den, res;
num = factorial(n+k-1);
den = factorial(k)*factorial(n-1);
res = num/den;
return res;
}
int esprimo(int n){
bool primo=true;
for(int i=2; i<=sqrt(n); ++i)
if(n%i==0)
primo=false;
return primo;
}
vector<int> descomponer(int n){
vector<int> res;
if(!esprimo(n)){
int i=2;
while(i<=n)
if(n%i==0){
res.push_back(i);
n/=i;
}
else
i++;
}
return res;
}
*/
int main() {
int k=2,n=3;
/* do{
cout << "Número de cifras: ";
cin >> n;
cout << "Número de combinaciones: ";
cin >> k;
}while(n<0 || k<0 || k>n);
*/
cout << "El numero de combinaciones sin repeticion es: " << csr(k,n);
}
Revise this Paste
Parent: 42665