মুখবন্ধ
সুপরিচিত ক্যারল, ক্রিসমাসের দ্বাদশ দিনগুলিতে , কথককে প্রতিদিন বিভিন্ন উপহার দেওয়া হয়। গানটি সংশ্লেষিত - প্রতিটি শ্লোকে একটি নতুন উপহার যুক্ত করা হয়, এর আগে উপহারের চেয়ে একটি পরিমাণ আরও বেশি। একটি পার্টরিজ, দুটি টার্টল ডোভস, তিনটি ফরাসি হেনস এবং আরও অনেক কিছু।
কোনো শ্লোক এ এন , আমরা উপহার ক্রমপুঞ্জিত সমষ্টি এতদূর গান ফাইন্ডিং দ্বারা নিরূপণ করতে পারেন এন ম চতুস্তল সংখ্যা যার পরিণতিতে দেয়:
Verse 1: 1
Verse 2: 4
Verse 3: 10
Verse 4: 20
Verse 5: 35
Verse 6: 56
Verse 7: 84
Verse 8: 120
Verse 9: 165
Verse 10: 220
Verse 11: 286
Verse 12: 364
উদাহরণস্বরূপ, আয়াত 4 এর পরে, আমরা 4 * (1 টি অংশবিশেষ) , 3 * (2 টার্টেল কপোত) , 2 * (3 ফরাসী মুরগি) এবং 1 * (4 পাখি ডাকছে ) পেয়েছি । এগুলি সংক্ষেপে, আমরা পেতে 4(1) + 3(2) + 2(3) + 1(4) = 20
।
চ্যালেঞ্জ
আপনার কাজ হ'ল একটি প্রোগ্রাম বা ফাংশন লিখুন যা, উপহারের সংখ্যা 364 ≥ পি। 1 উপস্থাপন করে একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া হয়, এটি নির্ধারণ করে যে এটি ক্রিসমাসের কোন দিন (শ্লোক) is
উদাহরণস্বরূপ, যদি পি = 286 হয় তবে আমরা বড়দিনের 11 তম দিনে আছি। তবে, যদি পি = 287 হয় , তবে পরবর্তী উপহারের লোড শুরু হয়ে গেছে, যার অর্থ এটি 12 তম দিন day
গাণিতিকভাবে, এটি পরবর্তী টেটারহেড্রাল সংখ্যাটি সন্ধান করছে এবং টেট্রহেড্রাল সংখ্যার পুরো ক্রমানুসারে এর অবস্থানটি ফিরিয়ে দিচ্ছে।
নিয়মাবলী:
- এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম সমাধান (বাইটে) জিতেছে।
- স্ট্যান্ডার্ড গল্ফিং লফোলগুলি প্রয়োগ হয়।
- যখন দিনগুলি আসে তখন আপনার প্রোগ্রামটি অবশ্যই 1-ইনডেক্সড।
- আপনার জমাটি অবশ্যই একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন হতে পারে - তবে স্নিপেট নয়।
পরীক্ষার মামলা
1 -> 1
5 -> 3
75 -> 7
100 -> 8
220 -> 10
221 -> 11
364 -> 12
x=>{while(x>p)p+=r+=++i;return i}
করতে পারে:, আমি নিশ্চিত এটি জাভাস্ক্রিপ্টের মতো ভাষায় ছোট করা যেতে পারে।