1 den 8 e kadar olan rakamların kombinasyon adedi matematiksel olarak nasıl hesaplanır?

Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
1 den 8 e kadar olan rakamların kombinasyon adedi matematiksel olarak nasıl hesaplanır?
Koşullar:
- bir rakam iki defa kullanılamaz. 11,1232,12345671 gibi.
- bir sayıda aynı rakamlar var ise tek sayı sayılır. 1234, 4321, yada 1256, 2615 gibi

bu koşullara uyan kombinasyon listesini oluşturabilirim. Ancak bunun hesabı nasıl yapılır?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba
Kutu yöntemini deneyin.
1-8 arası sayılar kullanılacaksa;
1. kutuya 8 farklı sayı yazılabilir
2. kutuya 7 farklı sayı
3. kutuya 6 farklı sayı
...
...

8. kutuya 1 farklı sayı
1*2*3*4*5*6*7*8=40.320

kontrol ediniz.

Bunu for-next döngüsü ile sayfaya yazdırarak da görebilirsiniz.
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Merhaba
Kutu yöntemini deneyin.
1-8 arası sayılar kullanılacaksa;
1. kutuya 8 farklı sayı yazılabilir
2. kutuya 7 farklı sayı
3. kutuya 6 farklı sayı
...
...

8. kutuya 1 farklı sayı
1*2*3*4*5*6*7*8=40.320

kontrol ediniz.

Bunu for-next döngüsü ile sayfaya yazdırarak da görebilirsiniz.
Teşeekkür ederim. Bu yöntem e permutasyon mu deniyordu.
Bende geriye doğru çarpım 8*7*6*5*4*3*2*1 ile 40 bin sayısını buldum ancak emin olamadım :)
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Merhaba
Kutu yöntemini deneyin.
1-8 arası sayılar kullanılacaksa;
1. kutuya 8 farklı sayı yazılabilir
2. kutuya 7 farklı sayı
3. kutuya 6 farklı sayı
...
...

8. kutuya 1 farklı sayı
1*2*3*4*5*6*7*8=40.320

kontrol ediniz.

Bunu for-next döngüsü ile sayfaya yazdırarak da görebilirsiniz.
Kutu yöntemi oldukça açıklayıcı oldu. Tekrar teşekkür.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,779
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Asri Hocam,
İdris Hocamın dosyasına bakmadım ama, bu tür çalışmalarda kullanılan rakamlar arasında sıfır varsa ilk rakam 0 olamayacağından, basamak sayısı -1 defa, yani 7*7*6*5*4*3*2*1, sıfır yoksa 8*7*6*5*4*3*2*1 sayıda olur. Sorunuzu şimdi gördüm.
İyi çalışmalar
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Programı yazdığımda 255 adet sayı oluşuyor. 40 bin değil.
Bu hesap neye göre yapılıyor. :)

Kod:
Sub ozelkombi()
listes = "1,2,3,4,5,6,7,8"
liste = Split(listes, ",")
satir = 1
For i1 = 0 To UBound(liste)
    Cells(satir, "K").Value = liste(i1)
    satir = satir + 1
Next

For i1 = 0 To UBound(liste)
  For i2 = i1 + 1 To UBound(liste)
      Cells(satir, "K").Value = liste(i1) & liste(i2)
      satir = satir + 1
  Next
Next

For i1 = 0 To UBound(liste)
    For i2 = i1 + 1 To UBound(liste)
        For i3 = i2 + 1 To UBound(liste)
            Cells(satir, "K").Value = liste(i1) & liste(i2) & liste(i3)
            satir = satir + 1
        Next
    Next
Next
'
For i1 = 0 To UBound(liste)
    For i2 = i1 + 1 To UBound(liste)
        For i3 = i2 + 1 To UBound(liste)
            For i4 = i3 + 1 To UBound(liste)
                Cells(satir, "K").Value = liste(i1) & liste(i2) & liste(i3) & liste(i4)
                satir = satir + 1
            Next
        Next
    Next
Next
'
For i1 = 0 To UBound(liste)
    For i2 = i1 + 1 To UBound(liste)
        For i3 = i2 + 1 To UBound(liste)
            For i4 = i3 + 1 To UBound(liste)
                For i5 = i4 + 1 To UBound(liste)
                    Cells(satir, "K").Value = liste(i1) & liste(i2) & liste(i3) & liste(i4) & liste(i5)
                    satir = satir + 1
                Next
            Next
        Next
    Next
Next
'
For i1 = 0 To UBound(liste)
  For i2 = i1 + 1 To UBound(liste)
    For i3 = i2 + 1 To UBound(liste)
        For i4 = i3 + 1 To UBound(liste)
            For i5 = i4 + 1 To UBound(liste)
                For i6 = i5 + 1 To UBound(liste)
                    Cells(satir, "K").Value = liste(i1) & liste(i2) & liste(i3) & liste(i4) & liste(i5) & liste(i6)
                    satir = satir + 1
                Next
            Next
        Next
     Next
   Next
Next
'
For i1 = 0 To UBound(liste)
   For i2 = i1 + 1 To UBound(liste)
      For i3 = i2 + 1 To UBound(liste)
        For i4 = i3 + 1 To UBound(liste)
            For i5 = i4 + 1 To UBound(liste)
                For i6 = i5 + 1 To UBound(liste)
                    For i7 = i6 + 1 To UBound(liste)
                        Cells(satir, "K").Value = liste(i1) & liste(i2) & liste(i3) & liste(i4) & liste(i5) & liste(i6) & liste(i7)
                        satir = satir + 1
                    Next
                Next
            Next
         Next
      Next
    Next
Next
'
For i1 = 0 To UBound(liste)
    For i2 = i1 + 1 To UBound(liste)
        For i3 = i2 + 1 To UBound(liste)
            For i4 = i3 + 1 To UBound(liste)
                For i5 = i4 + 1 To UBound(liste)
                    For i6 = i5 + 1 To UBound(liste)
                        For i7 = i6 + 1 To UBound(liste)
                            For i8 = i7 + 1 To UBound(liste)
                                  Cells(satir, "K").Value = liste(i1) & liste(i2) & liste(i3) & liste(i4) & liste(i5) & liste(i6) & liste(i7) & liste(i8)
                                  satir = satir + 1
                            Next
                        Next
                    Next
                Next
            Next
        Next
    Next
Next
End Sub
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 17, 18
23, 24, 25, 26, 27, 28, 34, 35, 36, 37, 38, 45, 46
47, 48, 56, 57, 58, 67, 68, 78, 123, 124, 125, 126,
127, 128, 134, 135, 136, 137, 138, 145, 146, 147,
148, 156, 157, 158, 167, 168, 178, 234, 235, 236,
237, 238, 245, 246, 247, 248, 256, 257, 258, 267,
268, 278, 345, 346, 347, 348, 356, 357, 358, 367,
368, 378, 456, 457, 458, 467, 468, 478, 567, 568,
578, 678, 1234, 1235, 1236, 1237, 1238, 1245, 1246,
1247, 1248, 1256, 1257, 1258, 1267, 1268, 1278, 1345
1346, 1347, 1348, 1356, 1357, 1358, 1367, 1368, 1378,
1456, 1457, 1458, 1467, 1468, 1478, 1567, 1568, 1578,
1678, 2345, 2346, 2347, 2348, 2356, 2357, 2358, 2367
2368, 2378, 2456, 2457, 2458, 2467, 2468, 2478, 2567,
2568, 2578, 2678, 3456, 3457, 3458, 3467, 3468, 3478,
3567, 3568, 3578, 3678, 4567, 4568, 4578, 4678,5678,
12345, 12346, 12347, 12348, 12356, 12357, 12358, 12478,
12367, 12368, 12378, 12456, 12457, 12458, 12467, 12468,
12567, 12568, 12578, 12678, 13456, 13457, 13458, 13467,
13468, 13478, 13567, 13568, 13578, 13678, 14567, 14568,
14578, 14678, 15678, 23456, 23457, 23458, 23467, 23468,
23478, 23567, 23568, 23578, 23678, 24567, 24568, 24578,
24678, 25678, 34567, 34568, 34578,123468, 123478, 123567,
34678, 35678, 45678, 123456, 123457, 123458, 123467,
123568, 123578, 123678, 124567,124568, 124578, 124678,
125678, 134567, 134568, 134578, 134678, 135678, 145678,
234567, 234568, 234578, 234678,235678, 245678, 345678,
1234567, 1234568, 1234578, 1234678, 1235678, 1245678,
1345678, 2345678, 12345678
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Merhaba,

Bir arkadaşım formülü yazdı bende excele çevirdim.
sayı adedini verdiğimizde 1 den 8 e gibi, 8 adet diye formüller her bir hane için koşullara uygun oluşabilecek sayı adedini veriyor.
8 için.

HANE

HANE ADET

1

8

2

28

3

56

4

70

5

56

6

28

7

8

8

1



9 için

HANE

HANE ADET

1

9

2

36

3

84

4

126

5

126

6

84

7

36

8

9

9

1



10 için

1

10

2

45

3

120

4

210

5

252

6

210

7

120

8

45

9

10

10

1




Saygılarımla.
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Asri Bey, eklediğiniz dosyadaki formül yerine aşağıdaki Kombinasyon formülünü de kullanabilirsiniz.



.
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Asri Bey, eklediğiniz dosyadaki formül yerine aşağıdaki Kombinasyon formülünü de kullanabilirsiniz.



.
Evet aynı sonucu veriyor. Daha basit teşekkür ederim.
 
Üst