ধার
এই কোড-গল্ফ চ্যালেঞ্জের অনুপ্রেরণার জন্য র্যান্ড আল'তোরের চিঠি-ভিত্তিক প্রশ্নের জন্য আমার ধন্যবাদ ।
পটভূমি
এই চ্যালেঞ্জটির প্রকৃতি র্যান্ড তার "এ ট্রায়াঙ্গল ফরমেড অফ থ্রি লেটারস" এ উল্লিখিত অ্যালগরিদমকে ভিত্তি করে তৈরি করেছে:
- 10 টি বর্ণের ক্রম দিয়ে শুরু করুন যার প্রতিটি এক্স, ওয়াই বা জেড is
- প্রতিটি সারির নীচে, পরবর্তী সারিটি নিম্নরূপে নির্মাণ করুন। যদি দুটি সংলগ্ন বর্ণ একই হয় তবে তাদের নীচে একই বর্ণটি লিখুন; যদি তারা আলাদা হয় তবে তাদের নীচে তৃতীয় অক্ষরটি লিখুন।
আপনার দশম সারিতে একটি চিঠি না আসা পর্যন্ত আপনি পূর্বের পদক্ষেপটি পুনরাবৃত্তি করবেন।
চ্যালেঞ্জ
আমরা উপরের অ্যালগরিদমের গাণিতিক স্পিন রাখব:
- আসুন 10 টি সংখ্যার ক্রম দিয়ে শুরু করি, প্রত্যেকটি একটি স্পেস দ্বারা পৃথক করা হয় এবং যার প্রতিটি হয় হয় 1, 2 বা 3।
- প্রতিটি সারির নীচে, পরবর্তী সারিটি নিম্নরূপে নির্মাণ করুন। যদি দুটি সংলগ্ন অঙ্ক একই হয় তবে তাদের নীচে একই সংখ্যাটি লিখুন; যদি তারা আলাদা হয় তবে তাদের নীচে তৃতীয় সংখ্যাটি লিখুন।
- আপনার একটি চূড়ান্ত নম্বর না হওয়া পর্যন্ত আগের পদক্ষেপটি পুনরাবৃত্তি করুন।
সুতরাং, এই অ্যালগরিদম অনুসরণ করে, যদি সারি দিয়ে শুরু হয় 1 2 3 3 1 3 1 3 1 2
, উদাহরণস্বরূপ, নিম্নলিখিত ত্রিভুজটি উত্পন্ন হয়:
Input: 1 2 3 3 1 3 1 3 1 2
Output:
1 2 3 3 1 3 1 3 1 2
3 1 3 2 2 2 2 2 3
2 2 1 2 2 2 2 1
2 3 3 2 2 2 3
1 3 1 2 2 1
2 2 3 2 3
2 1 1 1
3 1 1
2 1
3
আমি সংখ্যাটি ত্রিভুজের সমস্ত অঙ্কের যোগফল জানতে আগ্রহী, সুতরাং এই সমস্ত অঙ্কগুলি যুক্ত করুন এবং এই মোটটিকে একাদশ সারিতে রেখে দিন, প্রথম সারির শেষ অঙ্কে ডান-যুক্তিযুক্ত। সুতরাং, আমাদের সংখ্যার ত্রিভুজটি নীচের মতো দেখতে লাগবে (আমার উদাহরণের ফাঁকা স্থানগুলি নীচে .
অক্ষর দেখানোর জন্য অক্ষর দ্বারা উপস্থাপন করা হয়েছে ))
Input: 1 2 3 3 1 3 1 3 1 2
Output:
1.2.3.3.1.3.1.3.1.2
.3.1.3.2.2.2.2.2.3.
..2.2.1.2.2.2.2.1..
...2.3.3.2.2.2.3...
....1.3.1.2.2.1....
.....2.2.3.2.3.....
......2.1.1.1......
.......3.1.1.......
........2.1........
.........3.........
................109
আপনার চ্যালেঞ্জটি কোড লেখা যা ইনপুটযুক্ত স্ট্রিং / অ্যারে / ইত্যাদি দিয়ে শুরু করতে পারে। আমার উদাহরণ অনুসারে দশ অঙ্কের, এবং তারপরে দশটি সারি তৈরি করার জন্য অ্যালগরিদম প্রয়োগ করুন যা সংখ্যাটি ত্রিভুজ তৈরি করবে, তারপরে একটি 11 তম সারি থাকবে যা ডান-ন্যায়সঙ্গততার সাথে সমস্ত অঙ্কের মোট প্রদর্শন করবে।
পরীক্ষামূলক
এই স্ট্রিংটির পরীক্ষাটি আপনার পছন্দের দশটি অঙ্কের এলোমেলোভাবে উত্পন্ন স্ট্রিং বা নীচে স্নিপেট থেকে উত্পন্ন একটি দিয়ে সম্পাদন করা যেতে পারে ...
c1=()=>('1331123221'+(Math.random()*(1<<24)|0).toString(4)).replace(/0/g, "").slice(-10).split("").join(" ");
$("#btn").click(function(){
$("#str").val(c1());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="str"><button id="btn">Get numbers</button>
<br>
Please use this snippet to generate a starting row for testing your code. Alternatively, you can also use a string of your choice, so long as it's ten digits (ranging from 1 to 3), separated by single spaces.
বিধি
- কোড-গল্ফের বিধিগুলি প্রয়োগ হয়, তাই সর্বনিম্ন সংখ্যক বাইট চ্যালেঞ্জটি জয় করে। একই লো স্কোর সহ দুটি প্রবেশিকা ইভেন্টে, বিজয়ী আপ-ভোটের সংখ্যার ভিত্তিতে পুরস্কৃত হবে।
- আমরা মূলত ১১ টি সারি, ১৯ টি অক্ষরের পরে যা করি ... আপনি কীভাবে আপনার চূড়ান্ত আউটপুটটি রেন্ডার করেন তা সম্পূর্ণভাবে আপনার উপর নির্ভর করে: অ্যারে, কনসোল, ফাইল আউটপুট, এসটিডিআউট ইত্যাদি so সুতরাং আপনার পছন্দ মতো আউটপুট পদ্ধতিটি ব্যবহার করুন দয়া করে আপনার সুবিধার জন্য কাজ। আউটপুটে একমাত্র নিয়মটি হ'ল আমাদের কাছে 11 টি সারি রয়েছে যা প্রতিটি সারিতে 19 টি বর্ণের উপরের মতো একই বিন্যাসে ...
- যদি এটি আপনার কোডকে সহায়তা করে, অঙ্কগুলির জন্য যে কোনও বিভাজকটি ব্যবহার করুন ... কেবল মনে রাখবেন যে সুগমনীয়তা অবদান রাখার কারণ হতে পারে।
- কোন নির্বোধ ফাঁক ।
- ইনপুটটির হার্ড-কোডিং অনুমোদিত নয়। এই কোডের উদ্দেশ্যগুলি এমন যে এটি প্রতিটি সময় বিভিন্ন ইনপুট দিয়ে বিভিন্ন ফলাফল তৈরি করতে ব্যবহার করা যেতে পারে।
1 1 1 1 1 1 1 1 1 1
উদাহরণস্বরূপ হার্ড-কোডিং, অ্যালগরিদমের পুরো বিন্দুটিকে সম্পূর্ণ উপেক্ষা করে।
আপনারা সবাই কী নিয়ে আসতে পারেন তা দেখার প্রত্যাশায়!