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ı ’ün katı ise sayıdan çıkarılmaktadır.
- Elde edilen sayı ’ün katı değilse sayıya eklenmektedir.
Sisteme başlangıç değeri olarak sayısı girildiğinde; algoritmanın ürettiği . sayı , . sayı olmaktadır.
Buna göre, bu algoritmanın ürettiği . sayı aşağıdakilerden hangisidir?
- A
- B
- C
- Cevap
- E
Cevap
Algoritmanın ürettiği 40. sayı 51'dir.
Algoritma incelendiğinde sayıların şeklinde üçlü gruplar halinde ilerlediği görülür. Her grubun ilk elemanı bir önceki grubun ilk elemanından fazladır. sayı, tam grup bittikten sonra başlayan grubun ilk elemanıdır. Bu nedenle ilk eleman olan üzerine kez eklenerek sonucuna ulaşılır.
Adım Adım Çözüm
Anahtar Kavram
Rutin Olmayan Problemlerde Periyodik Örüntü Analizi
İpuçları
1
Algoritmanın ilk veya 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 (). 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. adım sayısı olmak üzere; eğer ise sayı olur. olduğu için yazılarak sonuç bulunur.
Tahmini Süre:1m 30s