ট্যাবগুলি বনাম মহাকাশ যুদ্ধ শেষ করুন
সুতরাং, ইনডেন্ট / ফর্ম্যাট কোডের জন্য ট্যাব বা স্পেস ব্যবহার করতে হবে কিনা তা নিয়ে প্রচুর বিতর্ক হয়েছে। ফর্ম্যাটিংয়ের একটি অবিশ্বাস্য ক্রেজি অনন্য পদ্ধতিতে গিয়ে আপনি কি বিশ্ববিদ্যালয়টিকে বিরোধ নিষ্পত্তি করতে সহায়তা করতে পারেন ।
আপনার কাজ হ'ল একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন লিখুন যা সমস্ত ট্যাবকে চারটি স্থানে প্রসারিত করে। এবং তারপরে "/ (এন - এখানে দুটি তারা) /" দিয়ে এন নেতৃত্বাধীন স্পেসগুলির একটি রান প্রতিস্থাপন করে। আপনি যেকোন যুক্তিসঙ্গত বিন্যাসে একাধিক লাইনের উপর ইনপুট পাবেন (প্রতিটি নতুন লাইনের জন্য স্ট্রিংগুলির একক স্ট্রিং অ্যারে Col কলামার অ্যারে ইত্যাদি)
নমুনা ইনপুট নির্লজ্জভাবে চুরি হয়েছে । নোট করুন যেহেতু ট্যাবগুলি স্বয়ংক্রিয়ভাবে SE এর চারটি স্পেসে প্রসারিত হয় আমি এটিকে "^" চরিত্র হিসাবে উপস্থাপন করি তবে আপনাকে অবশ্যই ট্যাবগুলি হ্যান্ডেল করতে হবে (কোডপয়েন্ট 0x09)। সমস্ত "^" অক্ষর একটি সারণী উপস্থাপন করে।
Calculate the value 256 and test if it's zero
If the interpreter errors on overflow this is where it'll happen
++++++++[>++++++++<-]>[<++++>-]
+<[>-<
Not zero so multiply by 256 again to get 65536
[>++++<-]>[<++++++++>-]<[>++++++++<-]
+>[>
# Print "32"
++++++++++[>+++++<-]>+.-.[-]<
<[-]<->] <[>>
# Print "16"
+++++++[>+++++++<-]>.+++++.[-]<
<<-]] >[>
# Print "8"
++++++++[>+++++++<-]>.[-]<
<-]<
# Print " bit cells\n"
+++++++++++[>+++>+++++++++>+++++++++>+<<<<-]>-.>-.+++++++.+++++++++++.<.
>>.++.+++++++..<-.>>-
Clean up used cells.
[[-]<]l
^this is preceded by a tab
^^two tabs
^^^three tabs etcetera!
নমুনা আউটপুট
Calculate the value 256 and test if it's zero
If the interpreter errors on overflow this is where it'll happen
++++++++[>++++++++<-]>[<++++>-]
+<[>-<
/**/Not zero so multiply by 256 again to get 65536
/**/[>++++<-]>[<++++++++>-]<[>++++++++<-]
/**/+>[>
/******/# Print "32"
/******/++++++++++[>+++++<-]>+.-.[-]<
/**/<[-]<->] <[>>
/******/# Print "16"
/******/+++++++[>+++++++<-]>.+++++.[-]<
<<-]] >[>
/**/# Print "8"
/**/++++++++[>+++++++<-]>.[-]<
<-]<
# Print " bit cells\n"
+++++++++++[>+++>+++++++++>+++++++++>+<<<<-]>-.>-.+++++++.+++++++++++.<.
>>.++.+++++++..<-.>>-
Clean up used cells.
[[-]<]l
/**/this is preceded by a tab
/******/two tabs
/**********/three tabs etcetera!
যেহেতু বিশ্ববিদ্যালয়ের ভিম এবং ইমাস উভয়ই ডাউনলোড করার জন্য জায়গার প্রয়োজন, আপনার কোডের জন্য আপনাকে খুব অল্প সঞ্চয় করার অনুমতি দেওয়া হচ্ছে। অতএব এটি কোড-গল্ফ এবং সংক্ষিপ্ততম কোডের জয়। আপনি ধরে নিতে পারেন যে ইনপুটটি ভালভাবে গঠন করেছে এবং চারটিরও কম স্পেস (ট্যাব প্রতিস্থাপনের পরে) এর সাথে রেখাগুলি অনির্ধারিত আচরণের ফলে আসতে পারে।
দাবি পরিত্যাগী
এই "দুর্দান্ত" ফর্ম্যাটিং কৌশলটি জিওবিটসের সৌজন্যে এসেছিল এবং তার অনুমতি নিয়ে পুনরুত্পাদন করা হয়। এই চ্যালেঞ্জটি তৈরির সময় কোনও প্রোগ্রামার ক্ষতিগ্রস্থ হয়নি।
/*
, বা এটি কি "সুগঠিত ইনপুট" হিসাবে ধরে নেওয়া যায় না? একটি সি ++ উত্স ফাইলটি আরও ভাল পরীক্ষা /* */
হতে পারে , কারণ এর মাল্টলাইন মন্তব্যটি সম্ভবত এমন কিছু উত্তর ভেঙে ফেলবে যা প্রথম এবং শেষের স্থানটি একটি এর সাথে প্রতিস্থাপন করে /
এবং এরপরে শূন্যস্থান পূরণ করতে এগিয়ে যায় *
।
/* */
সি ++ কোডটি কল্পনা করুন তবে এবার লাইনের শুরুতে। আপনার অনুমান অনুসারে এটি যেমন আছে তেমন ছেড়ে দেওয়া উচিত। এখানে ফাঁদ, এবং ইতিমধ্যে ভুল উত্তর বিক্ষোভ, অর্থাৎ মত একটি Regex /\** /
সঙ্গে // মধ্যে আস্টেরিক্স মধ্যে লাইন আবর্তিত হবে সেই শূণ্যস্থান পূরণ করতে ব্যবহৃত /***/
। আমি এই রূপান্তরটিও দেখেছি /*//*/
। আমি ধরে নিলাম দুটোই ভুল