Welcome, guest! Login / Register - Why register?
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
Your Name: Code Language: