Koşulları Sağlayan 5 Basamaklı Sayılar Oluşturma

  • Konuyu başlatan Konuyu başlatan 52779
  • Başlangıç tarihi Başlangıç tarihi

Kısa Açıklama

Koşulları Sağlayan 5 Basamaklı Sayılar Oluşturma isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
5 basamaklı sayılardan koşulları sağlayanların listesini oluşturmaya çalışıyoruz.
2 Koşulumuz var.
a - Sayıyı oluşturan Rakamlar Benzersiz olmalı
b - Sayıyı oluşturan Rakamların toplamını, TEK basamak elde edinceye kadar peş peşe yapıyoruz . Sonuçta elde edeceğimiz toplam 2 olmalı.
Resimde detaylı açıklama yapılmaya çalışıldı.

R372.webp


Çözüm olarak, Excel'de her türlü yöntem kabul edilmekte.
Çözümlerinizi bekleriz.

Teşekkürler şimdiden...
 

Ekli dosyalar

@halily
Sanırım bir yanlış anlaşılma var.
Mevcut bir listeden koşula uyanların listesi istenilmiyor.
Görebildiğim kadarıyla örnek belgedeki listede yer alan sayıların tümü zaten koşulları sağlayan sayılar.

Soru: 5 basamaklı sayıların (10.000 - 99.999 aralığındaki sayılar) hangileri kurala uyanlardır, onun bulunması ve listelenmesi sanırım.

@52779
Sorunuzdan anladığıma göre koşula uyan bir sayı bulunduğunda,
bu sayıyı oluşturan rakamların sıfır en solda olmayan farklı dizilimlerinin tümünün listede olması gerekmez mi?
Örneğin 10.253 listede iken 10.235 neden listede yok? Ya da ben mi göremiyorum?
 
5 sayının toplamı 45 ten fazla olamayacağı için.. ve 5 benzersiz sayının toplamı minimum (10234) 11 olacağı için {11;20;29;38} kısmı kullanıldı. 9 ar 9 ar artıyor. Dolayısyla mod(9)=2 olarak da kullanılabilirdi aslında. 365 çözüm önerisi olsun.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
Mevcut bir listeden koşula uyanların listesi istenilmiyor.
Görebildiğim kadarıyla örnek belgedeki listede yer alan sayıların tümü zaten koşulları sağlayan sayılar.
Aynen..
Teşekkür ediyorum...
D kolonunda verilen TÜM sayılar (ki 3024 adet) koşulları sağlayan sayılardır. Ve istenen de, bu listenin elde edilmesidir.
@52779
Sorunuzdan anladığıma göre koşula uyan bir sayı bulunduğunda,
bu sayıyı oluşturan rakamların sıfır en solda olmayan farklı dizilimlerinin tümünün listede olması gerekmez mi?
Örneğin 10.253 listede iken 10.235 neden listede yok? Ya da ben mi göremiyorum?
Ben mi yanlış dosya ekledim diye düşündüm ve eklenen dosyayı indirerek bir kez daha baktım.
Gerek soruda verilen resimde ve gerekse eklenen dosyada liste koşulları sağlayan ilk sayı olan10235 ile başlamakta ve 10253 ile devam etmektedir.
Yani, her iki sayı da listede mevcuttur.
 
5 sayının toplamı 45 ten fazla olamayacağı için.. ve 5 benzersiz sayının toplamı minimum (10234) 11 olacağı için {11;20;29;38} kısmı kullanıldı. 9 ar 9 ar artıyor. Dolayısyla mod(9)=2 olarak da kullanılabilirdi aslında. 365 çözüm önerisi olsun.
Çözümünüz için çok teşekkürler...
Açıklama için de ayrıca çok teşekkür ediyorum.
Bir küçük eklemede bulunmak isterim.
5 basamaklı ve rakamları benzersiz olan en büyük sayı da, 98765 olup, rakamları toplamı en fazla 35 yapmaktadır. Evet, istenen 2 değeri için aranan koşullar ise {11;20;29} olacaktır.
 
3. yöntem olarak galiba Rekürsif döngü diyorlar kendi kendini çağıran bir döngü kullandım
1. den hızlı 2. den yavaş
1. yöntem : 0,85 sn
2. yöntem : 0,25 sn
3. yöntem : 0,45 sn
avantajı şu kabaca istediğiniz kadar hane belirleyebiliyorsunuz
4 haneli derseniz 4, 7 haneli derseniz 7 veriyor
2. yöntemdeki gibi hane sayısı kadar iç içe if kullanmanıza gerek kalmıyor kendisi yapıyor
1 - modülün en başına aşağıdaki değişkenler tanımlanacak
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(3 satır)
2 - aşağıdaki kod genel kod kombinasyonu alınacak dizi belirtiliyor biz 0-9 arası belirlediğimiz için dizi=Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) olarak ayarlandı. diziye istediğimiz her şeyi ekleyebiliriz ve kaçlı kombinasyonu istiyorsak onu belirtiriz
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(25 satır)
3 - bu kısım öz döngülü mü denir Rekürsif mi bilemediğim kısım döngünün kendisini kaç defa çağıracağı xDonguSay ile belirleniyor aslında
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(29 satır)
 
mod(9)=2 olarak da kullanılabilirdi aslında.
çok teşekkürler @Mehmet hocam kodu belirttiğiniz gib MOD kullanarak düzenlediğimde inanılmaz hızlandı
son önerdiğim kodda sadece xKombinasyon fonksiyonu değişecek
aynı değişiklik diğer fonksiyonlarda da yapıldı
ortalama sonuçlar
eski yöntemlerde
1. yöntem : 0,85 sn
2. yöntem : 0,25 sn
3. yöntem : 0,45 sn
yeni mod yönteminde
1. yöntem : 0,58 sn
2. yöntem : 0,18 sn
3. yöntem : 0,09 sn
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(18 satır)
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst