1. Xibalba
  2. Yardım İsteyenler
  3. Pazartesi, Kasım 28 2016, 10:12 AM
  4.  E-posta abonesi olun

Arkadaşlar böyle bir ödevim var yapmam gereken ama biraz zorlandım açıkçası yardımcı olabilecek biri varmı acaba?

 

 

3n + 1 Problemi

Aşağıdaki algoritma, girilen sayıyı alıp sayı çift olduğu sürece 2 ye bölme, tek olduğunda ise 3 katının bir fazlasını almaya yönelik geliştirilmiştir.

1.       OKU(N)

2.       YAZ(N)

3.       EĞER N=1 İSE BİTİR

3.1.    EĞER N TEK İSE Nß3N + 1

3.2.    AKSİ HALDE NßN/2

4.       2. ADIMA GİT

Örneğin, girilen 9 değeri için algoritmanın çıktısı aşağıdaki gibi olacaktır.

9, 28, 14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1

Yukarıda görüldüğü gibi 9 sayısı girildiğinde işlem 20 adımda tamamlanmaktadır.

Sizden istenen girilen iki değer aralığındaki (girilen değerler dahil) sayılar için adım sayısı en fazla olan sayının ekrana yazdırılmasıdır.

Girdi

i ve j ikilisi olacak şekilde sayılar girilecektir. Girilen bu iki sayı dahil olmak üzere iki sayı arasında adım sayısı en fazla olan değer ve kaç adımda işlemin tamamlandığı bulunacaktır.

Çıktı

Girilen iki değer yanına bu iki değer arasındaki adım sayısı en yüksek olan değer ve parantez içerisinde adım sayısı yazılacaktır.

Örnek girdi

1 10

100 200

900 1000

Örnek Çıktı

1 10 9 (20)

100 200 171 (125)

900 1000 937 174

Not: Adım sayısının hesaplanması için fonksiyon kullanımı zorunludur.

 



There are no replies made for this post yet.
However, you are not allowed to reply to this post.