পিপিসিজিতে সম্প্রতি পোস্ট করা অনেক (দুটি?) ফিজবজ-সম্পর্কিত চ্যালেঞ্জের পরিপ্রেক্ষিতে আমাকে নিজেরাই সামনে আসতে প্ররোচিত করা হয়েছে। দেখ ...
ফিজ বাজ লাইটায়য়ার
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা কোনও পূর্ণসংখ্যা গ্রহণ করে nএবং FizzBuzz15 দ্বারা বিভাজ্য যে Fizzকোনও সংখ্যার Buzzজন্য , 3 দ্বারা বিভাজ্য যে কোনও সংখ্যার জন্য , এবং 5 দ্বারা বিভাজ্য যে কোনও সংখ্যার জন্য (এবং সহ) মুদ্রণ করে n। সবার জন্য আউটপুট iঅবশ্যই একটি নতুন লাইন অনুসরণ করা উচিত। তবে একটি মোড় আছে!
প্রতি তৃতীয়বার আপনি মুদ্রণ করার পরে Buzz, বাজ লাইটায়ার আপনার প্রোগ্রামে কল এবং ক্র্যাশ ল্যান্ডগুলি অবশেষে উপভোগ করবে। তারপরে সে নিজেকে পরিচয় করিয়ে দেয় - তবে যেহেতু তিনি ক্র্যাশ করেছেন, তাই তিনি যা বলেছিলেন তার কিছু আপনার প্রোগ্রামের ফলাফলের সাথে মিশে গেছে:
Buzz Lightyear, Space Ranger, Universe Protection Unit.
FizzBuzz Lightyear, Space Ranger, Universe Protection Unit.
(যে, শুধুমাত্র পরিশেষে যোগ Lightyear, Space Ranger, Universe Protection Unit.করার Buzzবা FizzBuzz- আপনার যেকোনো এটা আপনি অন্যথায় প্রদর্শন করা হয়েছে চাই দ্রষ্টব্য নেতৃস্থানীয় স্থান।)
তবে বাজ লাইটিয়ায়ার, তিনি হচ্ছেন স্পেস রেঞ্জার হওয়ায় খুব তীব্র শ্রবণশক্তি রয়েছে এবং তাই মুদ্রণটি FizzBuzzআপনার Buzzগণনা অনুসারে গণনা করবে ।
তারপরে, বাজটি আপনার কম্পিউটারটিকে সমস্ত অশুভ আউটপুট থেকে রক্ষা করার জন্য ঝুলিয়ে রাখে, যতক্ষণ না আপনি 5 (বা 15 দ্বারা বিভাজ্য, যেহেতু সেগুলিও 5 দ্বারা বিভাজ্য) অন্য কোনও সংখ্যাকে আঘাত করেন না। এর অর্থ হ'ল যতক্ষণ না আপনাকে আবার Buzz(বা FizzBuzz) মুদ্রণ করতে হবে, আপনি কিছু মুদ্রণ করবেন না।
আপনি যখন অবশেষে এই অবস্থাতে পৌঁছান, বাজ প্রস্থান করে:
To infinity and beyond!
উদাহরণ আউটপুট
এটি এর জন্য প্রত্যাশিত আউটপুট n = 25: (এটি কীভাবে 16 এর মধ্য দিয়ে যায় 19 দেখুন)
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz Lightyear, Space Ranger, Universe Protection Unit.
To infinity and beyond!
Fizz
22
23
Fizz
Buzz
বিধি
Lineচ্ছিক পেছনের নতুন লাইনটি গ্রহণযোগ্য।
এটি কোড গল্ফ; যেমন, সংক্ষিপ্ততম কোড, বাইটে, জিততে।
অনুমান করা হয়েছে যেটি nবৈধ এবং 15 এর চেয়ে বড় বা সমান (এটি যখন চ্যালেঞ্জটি প্রথমে স্ট্যান্ডার্ড ফিজবজ থেকে বিচ্যুত হয়)
যখন "Buzz- এ কাউন্টার" (যা গন্য উভয় বাজ তোমাদের শুভেচ্ছা জানাচ্ছেন Buzzএবং FizzBuzz) হিট 3; পরবর্তী Buzz(আবার, উভয় Buzzএবং উভয় FizzBuzz) মুদ্রিত হওয়ার পরে সে চলে যায় ।
তিনি যে নম্বরটি প্রস্থান করেন তা পরবর্তী "বাজ কাউন্টার" -র দিকে গণনা করে না; পরিবর্তে আপনাকে Buzz0 থেকে আবার গণনা শুরু করা উচিত উদাহরণস্বরূপ, একটি প্রোগ্রাম n = 25(উদাহরণস্বরূপ আউটপুট) দিয়ে চলমান 1 টির "বাজ কাউন্টার" দিয়ে শেষ হওয়া উচিত, যেহেতু Buzzশেষ সময় তিনি চলে যাওয়ার পর থেকে কতবার মুদ্রিত হয়েছিল।
যদি nবাজ এর আগতদের মধ্যে একটির সাথে তার প্রস্থানের মধ্যে পড়ে (যেমন, তিনি এখনও রয়েছেন - আপনি কোনও কিছুই মুদ্রণ করছেন না), গ্রেফসিত সমাপ্তি প্রত্যাশিত। সুতরাং, আউটপুট শেষ লাইন হবে তার ভূমিকা
স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
nবাজ লাইটয়ারের আগমন এবং তার প্রস্থানের মধ্যে যখন পড়ে তখন আপনি কি প্রত্যাশিত আচরণটি পরিষ্কার করতে পারেন ?