خرید بک لینک

الگوریتمی را در نظر بگیرید که با دریافت یک عدد $n$ ، دنبالهای از اعداد را تولید میکند. به این ترتیب که اگر $n$ زوج بود، تقسیم آن بر عدد 2 و اگر فرد بود، $ 3n + 1 $ را به عنوان جملهی بعدی دنباله و مقدار جدید برای $n$ تولید کرده و عملیات را تا زمانی که مقدار $n$ برابر 1 شود، ادامه دهد. برای مثال، دنبالهی زیر با شروع از $ n = 22 $ تولید میشود:

[ 22 ; 11 ; 34 ; 17 ; 52 ; 26 ; 13 ; 40 ; 20 ; 10 ; 5 ; 16 ; 8 ; 4 ; 2 ; 1 ]

حدس زده شده است که چنین دنبالهای به ازای هر عدد صحیح $n$ در نهایت به عدد 1 ختم خواهد شد. این حدس حداقل برای اعداد کمتر از 1000000 صحیح است.

برای هر ورودی $n$ منظور از cycle-length عدد $n$ تعداد اعدادی است که با شروع از آن عدد تا رسیدن به عدد 1 ( شامل خود این عدد) توسط الگوریتم فوق تولید میشوند. به عنوان مثال، cycle-length به ازای $n = 22$ عدد 16 است. بر اساس این تعریف، برنامهی شما باید با دریافت دو عدد $i$ و $j$ ، مقدار حداکثر cycle-length را به ازای اجرای الگوریتم روی اعداد این بازه (شامل خود $i$ و $j$) مشخص نماید.

ادامه مطلب

برچسب: نویسنده: آرشان حبیبی تاريخ: دوشنبه 18 ارديبهشت 1396 ساعت: 11:22

صفحه بندی