.:: M. Zahid Gürbüz Kişisel Web Sayfasına Hoşgeldiniz ::.

M. Zahid Gürbüz | Araştırma Görevlisi | Bilgisayar Mühendisliği | Doğuş Üniversitesi

SORU - UYANIK ASKER

HİKAYE

Kral askerlerinden 1000 tanesinin yolsuzluk yaptığını öğrenir ve onları kılıca dizmeye karar verir. İçlerinden bir tanesi krala "Kralım! Hepimizi öldüreceksiniz ama benim bir fikrim var. Bir halka oluşturalım ve birimiz kılıcı alıp sağındaki askeri öldürsün ve kılıcı sağındaki sağ askere versin. O şekilde 1 kişi kalıncaya kadar devam edelim. Son kalan askeri de bağışlayın." diyerek bir teklifte bulunur. Her askerin cezasını arkadaşı vereceği için bu fikir kralın aklına yatar. Bu durumda ilk kılıcı alan askere 1 numara dersek kaç numaralı asker hayatta kalacak acaba?

AMAÇ

Yukarıdaki hikayede kimin sağ kalacağını bulan C yada C++ programını yapınız.

CEVAP

Soruyu gönderen ve cevaplayan Merve AKBULUT'a Teşekkür ederim.
C Programı
Örnek çıktı

Yorumlar

Huseyin Bora ABACI 30.04.2008 18:12:05
for(int kes,ks=2,kesil=2;ks<=1024;kesil=ks+1,ks*=2)
{
for(kes=1;kesil<=1000; kes+=ks,kesil+=ks)
printf( "%d.Adam %d. adami keser\n",kes,kesil);
printf("%d Sag Kaldi\n",kes-ks);
}
=)

Zahid GÜRBÜZ 31.12.2007 16:06:20
Merhaba İsmail,
Neden tabii ki 1. hayatta kalır. bunu mantıken nasıl çözdün merak ettim. biraz açıklayabilir misin?

ismail 30.12.2007 03:52:40
Tabii ki.
Ne 1000 ne de 999.

Kesinlikle 1. hayatta kalır.
Ama C++ da o kadar bilgili değilim.

Klansavaslari.net World 10
Secure-X-

Bu sayfa hakkındaki tüm yorumları okumak için tıklayınız

İsim :
E-mail :
Güvenlik Kodu: : 444
Yorum :