Processing math: 100%
Akademisyenler öncülüğünde matematik/fizik/bilgisayar bilimleri soru cevap platformu
0 beğenilme 0 beğenilmeme
1.1k kez görüntülendi

[1N] aralığındaki tamsayılarla oynanan bir oyun şu şekilde tanımlanıyor: Sayılar artan sırada olacak şekilde yan yana dizilir. İlk sayı olan 1’den başlayarak bu dizilimdeki sayılar birer atlanarak silinir. Dizinin dairesel olduğu düşünülerek dizi sonuna gelindiğinde koruma/silme işlemine dizinin başından itibaren geriye kalan sayılarla devam edilir. Bu oyun, geriye sadece bir sayı kalana kadar oynanır. İlk geçiş, 1’in korunmasıyla başlar.
Örnek: 
N=7 için dizimiz 1 2 3 4 5 6 7 şeklindedir. 
İlk geçiş:   1 korunur, 2 silinir, 3 korunur, 4 silinir, 5 korunur, 6 silinir, 7 korunur. 
(Dizinin son hali: 1 3 5 7)
İkinci geçiş:  1 silinir, 3 korunur, 5 silinir, 7 korunur. 
(Dizinin son hali: 3 7)
Üçüncü geçiş:  3 silinir, 7 korunur. 
(Dizinin son hali: 7) 
Geriye kalan son sayı 7’dir.
 
Buna göre oyunda N=160 için geriye kalan son sayı kaçtır?
A)65

B)83

C)101

D)129

E)157

Cevap:A

Şimdi (IE = ilk eleman , SE = Son eleman)

Döngü1

1,2,3,...,160  dizisinde 2n+1 korunur ve 2n silinir. Yeni döngüdeIE=1 SE=159

1,3,5,...,159 dizisinde 4n1 korunur ve 4n+1 silinir. Yeni döngüdeIE=3 SE=159

3,7,11,...,159 dizisinde 8n1 korunur ve 8n+3 silinir. Yeni döngüdeIE=7 SE=159

7,15,23,...,159 dizisinde 16n1 korunur ve 16n+7 silinir. Yeni döngüdeIE=15 SE=159

15,31,47,...,159 dizisinde (Bir fikrim yok) Yeni döngüdeIE=31 SE=159

31,63,95,127,159 dizisinde (Bir fikrim yok). Yeni döngüdeIE=63 SE=127

63,127 dizisinden 127 silinir ve geriye 63 kalır.

Nerede hata yaptım bilmiyorum.Yardım ederseniz sevinirim.


Orta Öğretim Matematik kategorisinde (77 puan) tarafından  | 1.1k kez görüntülendi

160'dan sonra olecek olan 3 degil mi?

Ilk tur sonunda 159 korundu 160 silindi ikinci tura başlarken 1'in korunması gerekmez mi? 

Verdiğin n=7 örneğinde ikinci tura başlarken 1'in silinmesinin sebebi 7'nin tek sayı olmasıydı. Ama 160 çift.

Evet ikinci tur başlarken hata yapmışım.3 Silinmeliydi.

1 cevap

0 beğenilme 0 beğenilmeme
En İyi Cevap

Sana soyle bir yontem onereyim:

n kisi icin son kalacak tek kisiyi f(n) olarak adlandiralim. Zaten fonksiyon da verir bize...

Diyelim ki  n1 icin 2n kisi baslasin.

Ilk turdan sonra 1,3,,2n1

kalir ve n kisilik oyunu adlari 2k1 yazarak baslatmis oluruz. Dolayisiyla f(2n)=2f(n)1
ecitligini elde ederiz. 

Mesela buradan m1 tam sayilari icin f(2m)=1
oldugunu gorebiliriz.

Tek sayilari sana/okuyucuya birakiyorum...

Son olarak formulize edildiginde: n=2m+l olarak 0l<2m yazarsak f(n)=2l+1
olur. Burada 160=128+32 oldugundan f(160)=232+1=65
olur.

Problemin adi `Josephus problem' olarak geciyor. Internetten de genel halini arastirabilirsiniz.

(25.5k puan) tarafından 
tarafından seçilmiş

Burada https://www.youtube.com/watch?v=uCsD3ZGzMgE 

n'i ikilik tabana çevirip en büyük basamağı başa(20'ın soluna) atacak şekilde bir yöntem gösterilmiş.

Yani şöyle oluyor:

160=27+25----->10100000---->1000001

1000001= 26+20

=65

Dedigin tamamen ayni. 2^m+l olarak yazip 2l+1'i hesaplama..

Cunku 2^m'yi siliyor. Geriye l kalir..
Bunu bi yana kaydirmak 2 ile carpmak
sonra yanina 1 yazmak 1 eklemek..

Hatta bunu ikilik basamak olarak acmak da ayri bir kulfet... 

Hocam zaten dediğiniz şeyden geliyor. Sadece f(n)=2l+1 pek akılda kalıcı olmadığını düşündüğümden yazdım.Bilmem ikilik taban bana daha eğlenceli geliyor.

Yok, yazmana bir soz demedim. Sadece ayni oldugunu ve biraz islemi uzattigini soylemek istedim. sonucta muhabbet ediyoruz:)

Hatta yazmalisin ki, pekistirelim, gelistirelim. 

20,299 soru
21,845 cevap
73,549 yorum
2,757,405 kullanıcı