Soru

Zorluk: Çok zorRutin Olmayan Problemler

Bir devlet kurumunun arşivleme biriminde dosyalar, üzerlerinde sayıların bulunduğu barkodlarla sıralanmaktadır. Ancak barkod basım sistemindeki bir yazılım hatası nedeniyle, içinde '4' veya '7' rakamı geçen hiçbir sayı üretilmemektedir.

Sistem, sayıları 1'den başlayarak ardışık şekilde üretmekte, ancak yasaklı rakamları içeren sayıları atlayarak bir sonraki uygun sayıya geçmektedir.

Buna göre, sistemin ürettiği sıralamada; 1, 2, 3, 5, 6, 8, 9, 10... şeklinde ilerleyen dizinin 2024. sırasında yer alan dosyanın barkod numarası aşağıdakilerden hangisidir?

  1. A
    3750
  2. B
    3850
  3. 3960Cevap
  4. D
    4120
  5. E
    4260

Cevap

3960
Sistem 10'luk taban yerine, 4 ve 7 rakamlarının olmadığı 8 elemanlı bir küme {0,1,2,3,5,6,8,9} kullanmaktadır. Bu, mantıksal olarak 8'lik sayı tabanına (Octal) karşılık gelir. 2024. sıradaki sayıyı bulmak için önce 2024 sayısı 8'lik tabana çevrilir: 2024=(3750)82024 = (3750)_8. Daha sonra bu tabandaki rakamlar, sistemin kullandığı rakam setine göre eşleştirilir (Mapping). 0-3 arası değişmez, ancak 4 yerine 5, 5 yerine 6, 6 yerine 8, 7 yerine 9 kullanılır. Dolayısıyla 3->3, 7->9, 5->6, 0->0 dönüşümüyle 3960 sayısı elde edilir.

Adım Adım Çözüm

1
Problemin mantığını sayı tabanlarına (modüler aritmetik) indirge.
Kullanılan rakamlar {0, 1, 2, 3, 5, 6, 8, 9} kümesidir. Toplam 10 rakamdan 2'si (4 ve 7) çıkarıldığı için bu sistem 8'lik sayı tabanı (Base-8) mantığıyla çalışır.
Her basamakta 10 yerine 8 farklı seçenek kullanılabildiğinden, n. sıradaki sayıyı bulmak için n sayısı 8'lik tabana çevrilmelidir.
2
İstenen sıra sayısı olan 2024'ü 8'lik tabana çevir.
2024=383+782+581+0802024 = 3 \cdot 8^3 + 7 \cdot 8^2 + 5 \cdot 8^1 + 0 \cdot 8^0 olduğundan, 8'lik tabandaki karşılık (3750)8(3750)_8 olur.
Sıra sayısını, sistemin kullandığı döngü uzunluğuna bölerek o sistemdeki 'ham' karşılığını buluruz.
3
8'lik tabandaki rakamları (0-7), sistemin kullandığı gerçek rakam kümesine {0,1,2,3,5,6,8,9} dönüştür.
Dönüşüm tablosu: (0→0), (1→1), (2→2), (3→3), (4→5), (5→6), (6→8), (7→9). Bulduğumuz (3750)8(3750)_8 sayısının rakamları: 3→3, 7→9, 5→6, 0→0.
8'lik tabandaki 4 rakamı sistemde 5'e, 5 rakamı 6'ya, 6 rakamı 8'e ve 7 rakamı 9'a denk gelmektedir (atlanan 4 ve 7 yüzünden öteleme olur).
4
Dönüştürülen rakamları yan yana yazarak sonucu bul.
3960
Her basamaktaki rakamın gerçek sistemdeki görsel karşılığı yazılarak nihai barkod numarası elde edilir.

Anahtar Kavram

Sayı Tabanı Dönüşümü ve Rakam Eşleştirme

İpuçları

1
Kullanılmayan iki rakam olduğuna göre (4 ve 7), toplam 10 rakamdan geriye 8 rakam kalır. Bu durum, problemi 8'lik sayı tabanı (Base-8) problemi haline getirir.
2
Önce istenen sıra sayısını (2024) 8'lik tabana çevirin. Bulduğunuz sayıda 0'dan 7'ye kadar olan rakamlar göreceksiniz.
3
8'lik tabanda bulduğunuz sayı (3750)8(3750)_8 olacaktır. Şimdi elinizdeki bu rakamları sistemin izin verdiği rakamlara {0,1,2,3,5,6,8,9} sırasıyla eşleyin. Örneğin; normalde 4 olması gereken rakam 5, 5 olması gereken rakam 6 olacaktır.

Daha Fazla Pratik

Benzer mantıkla, sadece '3' rakamının kullanılmadığı bir sistemde (9'luk taban) 100. sayının kaç olacağı sorulabilir.

Alternatif Yöntem

Sayıları gruplar halinde düşünebilirsiniz. Her 100'lük normal blokta kaç sayı atlandığını bulmak yerine, 83=5128^3 = 512 olduğu için her 512 adımda bir binler basamağının (sisteme göre) değişeceğini fark edebilirsiniz.
Tahmini Süre:4m 0s
Bu soruyu puanla