Skip to content

Java Soru Çözümleri 24 – Kombinasyon Hesaplama

N elemanlı bir kümenin elemanları ile oluşturulacak r elemanlı farklı grupların sayısı n’in r’li kombinasyonu olarak adlandırılır. N’in r’li kombinasyonu C(n,r) şeklinde gösterilir. 

 

 

Kombinasyon formülü:

 

Bu formüle göre kullanıcıdan n ve r sayılarını isteyip hepsinin ayrı ayrı faktöriyellerini hesaplayarak kodlarımızı oluşturacağız.

 

 

import java.util.Scanner;

public class Kombinasyon_Hesaplama {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Scanner klavye=new Scanner(System.in);
        System.out.println("N Değerini Giriniz");
        int n=klavye.nextInt();
        
        System.out.println("R Değerini Giriniz");
        int r=klavye.nextInt();
        
        if(n<r){
            
            System.out.println("N Sayısı R Sayısından Büyük Olmalıdır. Lütfen Tekrar N Değerini Giriniz.");
            n=klavye.nextInt();
            KombinasyonHesapla(n,r);
        }else{
            KombinasyonHesapla(n,r);
        }           
    }

    private static void KombinasyonHesapla(int n, int r) {
        // TODO Auto-generated method stub
        
        int faktoriyel_1=1;
        int faktoriyel_2=1;
        int faktoriyel_3=1;
        int fark=n-r;
        
        for(int i=1;i<=n;i++){
            
            faktoriyel_1=faktoriyel_1*i;
        }
        System.out.println("N Sayısının Faktöriyeli : " + faktoriyel_1);
        
        for(int j=1;j<=r;j++){
            
            faktoriyel_2=faktoriyel_2*j;
        }
        System.out.println("R Sayısının Faktöriyeli : " + faktoriyel_2);
        
        for(int k=1;k<=fark;k++){
            
            faktoriyel_3=faktoriyel_3*k;
        }
        System.out.println("(N-R)'nin Faktöriyeli : " + faktoriyel_3);
        
        int carpim=faktoriyel_2*faktoriyel_3;
        int kombinasyon=faktoriyel_1/carpim;
        
        System.out.println(n + " Sayısının " + r + "'li" + " Kombinasyonu = " + kombinasyon);
    }

}


  • Burada dikkat etmemiz gereken şey, n sayısının r sayısından büyük olmasını sağlamak. Bunu da if else yapısıyla sağladık.

 

  • Faktöriyel hesaplarını da, metod oluşturarak gerçekleştirdik.

 

 

Çıktımız:

 

 

Kombinasyon hesaplama kodları bu şekilde. İyi çalışmalar 🙂

 

 

1 Comment »

  1. Pingback: Neslihan SEZER

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: