بکندباز

دنباله Collatz به شرح زیر است:

  • دنباله با عدد صحیح داده شده n شروع می شود.
  • اگر زوج باشد عدد بعدی nبر 2 تقسیم می شود.
  • اگر فرد است آن را در 3 ضرب کرده و با 1 را جمع کنید تا عدد بعدی بدست آید.
  • دنباله زمانی که به عدد 1 می رسد متوقف می شود.

با توجه به تخمین کولاتز، دنباله همیشه به 1 خواهد رسید. اگر این درست باشد، شما می توانید یک دنباله متناهی بر اساس اطلاعات فوق برای هر عدد صحیح معین بسازید.

تابعی بنویسید که عدد صحیح n را بگیرد و بالاترین عدد صحیح را در دنباله کولاتز مربوطه در خروجی برگرداند.

نمونه ورودی و خروجی

MaxCollatz(10) ➞ 16

MaxCollatz(32) ➞ 32

MaxCollatz(85) ➞ 256
EXPECT_EQ(MaxCollatz(10), 16);
EXPECT_EQ(MaxCollatz(32), 32);
EXPECT_EQ(MaxCollatz(85), 256);

پاسخ های کاربران به این تمرین

FDK2077
امتیاز:‌ 11019
تصحیح اتوماتیک 0 0
‎C++‎
17 خرداد 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

user-OYRr
امتیاز:‌ 11019
تصحیح اتوماتیک 0 0
‎C++‎
25 فروردين 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

AmirNamdari
امتیاز:‌ 11019
تصحیح اتوماتیک 0 0
‎C++‎
24 اسفند 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

lammaso
امتیاز:‌ 11019
تصحیح اتوماتیک 0 0
‎C++‎
2 مرداد 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

تمرینات مرتبط