পটভূমি
অনেক গৌণ প্রোগ্রামিং ভাষার আক্ষরিক অর্থে অন্তর্নির্মিত সংখ্যা থাকে না, তাই আপনাকে রানটাইমের সময় এগুলি গণনা করতে হবে; এবং এই ক্ষেত্রে বেশিরভাগ ক্ষেত্রে, সংখ্যাটি উপস্থাপনাটি বেশ আকর্ষণীয় হতে পারে। আন্ডারলোডের জন্য সংখ্যার প্রতিনিধিত্ব করার বিষয়ে ইতিমধ্যে আমাদের চ্যালেঞ্জ ছিল । এই চ্যালেঞ্জটি মডুলার এসএনইউএসপিতে সংখ্যার প্রতিনিধিত্ব করার বিষয়ে । (নোট করুন যে এই চ্যালেঞ্জটি সম্পূর্ণ করার জন্য আপনাকে এসএনইউএসপি শেখার দরকার নেই - আপনার প্রয়োজনীয় সমস্ত তথ্য নির্দিষ্টকরণের মধ্যে রয়েছে - তবে আপনি ব্যাকগ্রাউন্ডটি আকর্ষণীয় খুঁজে পেতে পারেন))
কাজটি
এই প্রতিদ্বন্দ্বিতা উদ্দেশ্য, একটি মডুলার SNUSP সংখ্যা একটি স্ট্রিং অক্ষরের আউট গঠিত @
, +
এবং =
ছাড়া শেষ অক্ষর একটি হল, #
, এবং যে উপান্ত্য অক্ষরের হওয়া আবশ্যক +
অথবা =
(এটা হতে পারে না @
)। উদাহরণস্বরূপ, বৈধ সংখ্যা থাকতে @+#
, ==#
এবং @@+@=#
; অবৈধ সংখ্যার উদাহরণ হল +=
, @@#
এবং +?+#
।
একটি মডুলার এসএনইউএসপি সংখ্যার মান নীচে পুনরাবৃত্তভাবে গণনা করা হয়:
#
0 এর মান রয়েছে (এটি বেস কেস)।- যদি
=x
কোনও স্ট্রিংয়ের জন্য সংখ্যার ফর্ম থাকে তবেx
এর মান এর মানের সমানx
। - যদি
+x
কোনও স্ট্রিংয়ের জন্য সংখ্যার ফর্ম থাকেx
তবে এর মানx
, প্লাস 1 এর সমান । - সংখ্যা ফর্ম থাকে
@cx
, কোনো একক অক্ষরের জন্যc
এবং কোন স্ট্রিংx
, এর মান মান সমানx
, প্লাস মানcx
।
এই চ্যালেঞ্জের জন্য, আপনাকে অবশ্যই এমন একটি প্রোগ্রাম লিখতে হবে যা ইনপুট হিসাবে একটি nonnegative পূর্ণসংখ্যার গ্রহণ করে এবং একটি স্ট্রিং আউটপুট দেয় যা সংক্ষিপ্ততম মডুলার এসএনইউএসপি নম্বর যার ইনপুটটির সমান মান রয়েছে।
ব্যাখ্যা
- এটি সম্পূর্ণরূপে সম্ভব যে একই মানের সাথে একাধিক স্ট্রিং থাকবে এবং বিশেষত, কিছু সংখ্যার জন্য সেই মানটির সাথে সংক্ষিপ্ততম মডুলার এসএনইউএসপি সংখ্যার জন্য একটি টাই থাকবে। যেমন একটি ক্ষেত্রে, আপনি টাই জড়িত সংখ্যার আউটপুট করতে পারেন।
- আপনি নম্বরটি খুঁজতে যে অ্যালগরিদম ব্যবহার করেন তাতে কোনও বাধা নেই; উদাহরণস্বরূপ, ব্রুট-জোর করে স্ট্রিং করা এবং সেগুলি মূল্যায়ন করা একটি আইনী কৌশল, তবে অনুসন্ধানের জায়গাটি হ্রাস করার জন্য চালক হিসাবে কিছু করা হচ্ছে।
- পিপিসিজিতে যথারীতি আপনার জমাটি একটি সম্পূর্ণ প্রোগ্রাম বা কোনও ফাংশন হতে পারে (যেটি আপনার ভাষায় আরও সংক্ষিপ্ত আকারে বেছে নিন)।
- ইনপুট এবং আউটপুট ফর্ম্যাটগুলি পরিচালনা করার ক্ষেত্রে এটি কোনও সমস্যা নয়, সুতরাং আপনি কোনও ননএজেক্টিভ পূর্ণসংখ্যার ইনপুট করতে এবং কোনও স্ট্রিং আউটপুট দেওয়ার জন্য কোনও যুক্তিসঙ্গত উপায় ব্যবহার করতে পারেন। আছে মেটা একটি পূর্ণ নির্দেশিকা কিন্তু সবচেয়ে বেশি ব্যবহৃত আইনগত পদ্ধতি ফাংশন আর্গুমেন্ট / আয়, কমান্ড লাইন আর্গুমেন্ট, এবং স্ট্যান্ডার্ড ইনপুট / মান আউটপুট অন্তর্ভুক্ত।
পরীক্ষার মামলা
এখানে প্রথম কয়েকটি সংখ্যার সংক্ষিপ্ত প্রতিনিধিত্ব রয়েছে:
- 0 :
#
- 1 :
+#
- 2 :
++#
- 3 :
+++#
বা@++#
- 4 :
++++#
বা+@++#
বা@=++#
- 5 :
@+++#
বা@@++#
- 6 :
+@+++#
বা+@@++#
বা@=+++#
বা@=@++#
বা@@=++#
- 7 :
@++++#
বা@+@++#
- 8 :
@@+++#
বা@@@++#
- 9 :
+@@+++#
বা+@@@++#
বা@+++++#
বা@++@++#
বা@+@=++#
বা@@=+++#
বা@@=@++#
- 10 :
@=@+++#
বা@=@@++#
বা@@@=++#
( এটি সম্ভাব্য সমস্ত উত্তরের অন্তর্ভুক্ত হিসাবে চেক করা মোটামুটি গুরুত্বপূর্ণ পরীক্ষার কেস=
) - 11 :
@+@+++#
বা@+@@++#
বা@@++++#
বা@@+@++#
- 12 :
+@+@+++#
বা+@+@@++#
বা+@@++++#
বা+@@+@++#
বা@=+@+++#
বা@=+@@++#
বা@=@=+++#
বা@=@=@++#
বা@=@@=++#
বা@@=++++#
বা@@=+@++#
বা@@=@=++#
- 13 :
@@@+++#
বা@@@@++#
- 14 :
+@@@+++#
বা+@@@@++#
বা@=@++++#
বা@=@+@++#
বা@@+++++#
বা@@++@++#
বা@@+@=++#
- 15 :
@+@++++#
বা@+@+@++#
বা@@=@+++#
বা@@=@@++#
বা@@@=+++#
বা@@@=@++#
একটি বৃহত্তর পরীক্ষা ক্ষেত্রে হিসাবে, ইনপুট থেকে আউটপুট 40 হওয়া উচিত @@@=@@+++#
, @@@=@@@++#
, @@@@=@+++#
, অথবা @@@@=@@++#
।
বিজয় শর্ত
হিসেবে কোড-গলফ চ্যালেঞ্জ, বিজয়ী সবচেয়ে কম এন্ট্রি, বাইট পরিমাপ করা হয়।
=
সর্বোত্তমভাবে কেবল হিসাবে দেখা হবে@=
, তাই না?