Soru

Zorluk: OrtaRutin Olmayan Problemler

Bir yazılım algoritması, sisteme girilen bir tam sayıya her adımda aşağıdaki kuralları uygulayarak yeni sayılar üretmektedir:

- Elde edilen sayı 33’ün katı ise sayıdan 11 çıkarılmaktadır.
- Elde edilen sayı 33’ün katı değilse sayıya 22 eklenmektedir.

Sisteme başlangıç değeri olarak 1010 sayısı girildiğinde; algoritmanın ürettiği 11. sayı 1212, 22. sayı 1111 olmaktadır.

Buna göre, bu algoritmanın ürettiği 4040. sayı aşağıdakilerden hangisidir?

  1. A
    4848
  2. B
    4949
  3. C
    5050
  4. 5151Cevap
  5. E
    5252

Cevap

Algoritmanın ürettiği 40. sayı 51'dir.
Algoritma incelendiğinde sayıların (12,11,13),(15,14,16),(18,17,19)(12, 11, 13), (15, 14, 16), (18, 17, 19) \dots şeklinde üçlü gruplar halinde ilerlediği görülür. Her grubun ilk elemanı bir önceki grubun ilk elemanından 33 fazladır. 40.40. sayı, 1313 tam grup bittikten sonra başlayan 14.14. grubun ilk elemanıdır. Bu nedenle ilk eleman olan 1212 üzerine 1313 kez 33 eklenerek 12+39=5112 + 39 = 51 sonucuna ulaşılır.

Adım Adım Çözüm

1
Algoritmanın ilk birkaç adımını uygulayarak sayıların değişimini gözlemleyelim.
Başlangıç: 1010 (3'ün katı değil +2\rightarrow +2)
1. sayı: 1212 (3'ün katı 1\rightarrow -1)
2. sayı: 1111 (3'ün katı değil +2\rightarrow +2)
3. sayı: 1313 (3'ün katı değil +2\rightarrow +2)
4. sayı: 1515 (3'ün katı 1\rightarrow -1)
5. sayı: 1414 (3'ün katı değil +2\rightarrow +2)
6. sayı: 1616
7. sayı: 1818
Örüntünün periyodunu ve kuralını belirlemek için ilk verileri türetmemiz gerekir.
2
Elde edilen sayıları üçerli gruplar halinde düzenleyerek genel kuralı belirleyelim.
1-3. sayılar: (12,11,13)(12, 11, 13)
4-6. sayılar: (15,14,16)(15, 14, 16)
7-9. sayılar: (18,17,19)(18, 17, 19)
Her grubun ilk elemanı bir önceki grubun ilk elemanından 33 fazladır.
Sayılar her 3 adımda bir benzer bir yapı sergilemekte ve değerleri artmaktadır.
3
40. sayının hangi grupta ve kaçıncı sırada olduğunu bulalım.
40=3×13+140 = 3 \times 13 + 1. Bu sonuç, 40.40. sayının 14.14. grubun 1.1. elemanı olduğunu gösterir.
Grup sayısını ve eleman pozisyonunu belirleyerek doğrudan hesaplama yapılabilir.
4
14. grubun ilk elemanını aritmetik dizi formülüyle hesaplayalım.
1. grubun ilk elemanı 1212 ise, k.k. grubun ilk elemanı: 12+3×(k1)12 + 3 \times (k - 1)
k=14k = 14 için: 12+3×13=12+39=5112 + 3 \times 13 = 12 + 39 = 51.
Örüntü kuralı uygulandığında hedef adımın değerine ulaşılır.

Anahtar Kavram

Rutin Olmayan Problemlerde Periyodik Örüntü Analizi

İpuçları

1
Algoritmanın ilk 66 veya 77 adımını kağıda yazarak sayıların nasıl değiştiğini bir tablo gibi görmeye çalışın.
2
Sayıların her 3 adımda bir benzer bir döngüye girdiğini fark edin. Grupların ilk elemanları arasındaki ilişkiyi kurun.
3
40 sayısını 3'e bölerek hangi grubun kaçıncı elemanında olduğunuzu bulun (40=3k+140 = 3k + 1). 14.14. grubun ilk elemanını hesaplayın.

Daha Fazla Pratik

Benzer bir soruda kuralları 'çiftse yarısı, tekse 3 katının 1 fazlası' şeklinde değiştirerek döngüleri (Collatz benzeri) inceleyebilirsiniz.

Alternatif Yöntem

Genel bir terim formülü yazılabilir. nn adım sayısı olmak üzere; eğer n=3k2n = 3k-2 ise sayı 12+3(k1)12 + 3(k-1) olur. 40=3(14)240 = 3(14)-2 olduğu için k=14k=14 yazılarak sonuç bulunur.
Tahmini Süre:1m 30s
Bu soruyu puanla