Minmod ফাংশন পরিচিত একটি বৈকল্পিক মিনিট , যা আংশিক ডিফারেনশিয়াল সমীকরণ জন্য ঢাল সীমিত উচ্চ রিসোলিউশনের স্কিম উপস্থিত হয়। Slালুগুলির মধ্যে আপেক্ষিক চিহ্নগুলির যত্ন নেওয়ার সময় বেশ কয়েকটি opালু দেওয়া, এটি সর্বাগ্রে slালুটি বের করে।
ফাংশনটি প্যারামিটারগুলির একটি স্বেচ্ছাসেবী সংখ্যা নেয়। তারপরে মিনিমড (এক্স 1 , এক্স 2 , ..., এক্স এন ) হিসাবে সংজ্ঞায়িত করা হয়েছে:
- মিনিট (এক্স 1 , এক্স 2 , ..., এক্স এন ) , সমস্ত এক্স যদি আমি কঠোরভাবে ইতিবাচক হয়
- সর্বাধিক (x 1 , x 2 , ..., এক্স এন ) , সমস্ত x যদি আমি কঠোরভাবে নেতিবাচক হয়
- 0 , অন্যথায়।
আমরা কেবল পূর্ণসংখ্যার ইনপুটগুলি বিবেচনা করব, কারণ এটি বাস্তবায়নে আসলেই প্রভাব ফেলবে না এবং কয়েকটি (রহস্যমূলক) ভাষার ক্ষেত্রে আরও অন্তর্ভুক্ত হওয়া উচিত।
একটি প্রোগ্রাম বা ফাংশন, যা লাগে লিখুন এন (জন্য স্বাক্ষরিত পূর্ণসংখ্যার এন> 0 stdin, argv বা ফাংশন যুক্তি মাধ্যমে), এবং আয় বা কপি করে প্রিন্ট (stdout- এ) ফলাফলের (যদি করে একটি variadic ফাংশন চেয়ে বেশি সুবিধাজনক আপনি একটি অ্যারের ব্যবহার করতে পারেন) এর minmod (ক, খ) ।
আপনার অবশ্যই বিল্ট-ইন মিনিট বা সর্বাধিক ফাংশন ব্যবহার করবেন না (এবং প্রকৃতপক্ষে কোনও বিল্ট-ইন মিনমড নয়, যদি আপনি এটি আসলে খুঁজে পেতে পারেন)। এছাড়াও, নির্দিষ্ট অল্প সংখ্যক আইটেম (5 এর চেয়ে কম) বাছাই করা ছাড়া আপনার কোনও বিল্ট-ইন বাছাই করা ফাংশন ব্যবহার করা উচিত নয় ।
যদি আপনার ভাষায় স্বাক্ষরিত প্রকার না থাকে তবে আপনি স্বাক্ষরবিহীন প্রকারটি ব্যবহার করতে পারেন এবং এটি দুটির পরিপূরক হিসাবে ব্যাখ্যা করতে পারেন । যেমন যদি আপনার ভাষায় শুধুমাত্র স্বাক্ষরবিহীন বাইট ব্যবহার করে, আপনি ব্যবহার করতে পারেন 255
জন্য দাঁড়ানো -1
এবং 128
জন্য দাঁড়ানো -128
, ইত্যাদি
এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।
পরীক্ষার মামলা
Input Output
2 2
-3 -3
0 0
3 -5 0
2 4 1 1
0 1 2 0
-1 1 2 0
-4 -2 -3 -2 -2
-5 0 -1 0
1 0 -1 0
লিডারবোর্ড
নিম্নলিখিত স্ট্যাক স্নিপেট একটি নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই উত্পন্ন করে। সুতরাং আপনার পছন্দের ভাষা আপনাকে পুরো চ্যালেঞ্জ জিততে না দিলে, কেন দ্বিতীয় তালিকার কোনও স্থান ছিনিয়ে নেওয়ার চেষ্টা করবেন না?
আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
# Language Name, N bytes
N
আপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:
# Ruby, <s>104</s> <s>101</s> 96 bytes
function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){$.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(e){answers.push.apply(answers,e.items);if(e.has_more)getAnswers();else process()}})}function shouldHaveHeading(e){var t=false;var n=e.body_markdown.split("\n");try{t|=/^#/.test(e.body_markdown);t|=["-","="].indexOf(n[1][0])>-1;t&=LANGUAGE_REG.test(e.body_markdown)}catch(r){}return t}function shouldHaveScore(e){var t=false;try{t|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(n){}return t}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading);answers.sort(function(e,t){var n=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[Infinity])[0],r=+(t.body_markdown.split("\n")[0].match(SIZE_REG)||[Infinity])[0];return n-r});var e={};var t=1;answers.forEach(function(n){var r=n.body_markdown.split("\n")[0];var i=$("#answer-template").html();var s=r.match(NUMBER_REG)[0];var o=(r.match(SIZE_REG)||[0])[0];var u=r.match(LANGUAGE_REG)[1];var a=getAuthorName(n);i=i.replace("{{PLACE}}",t++ +".").replace("{{NAME}}",a).replace("{{LANGUAGE}}",u).replace("{{SIZE}}",o).replace("{{LINK}}",n.share_link);i=$(i);$("#answers").append(i);e[u]=e[u]||{lang:u,user:a,size:o,link:n.share_link}});var n=[];for(var r in e)if(e.hasOwnProperty(r))n.push(e[r]);n.sort(function(e,t){if(e.lang>t.lang)return 1;if(e.lang<t.lang)return-1;return 0});for(var i=0;i<n.length;++i){var s=$("#language-template").html();var r=n[i];s=s.replace("{{LANGUAGE}}",r.lang).replace("{{NAME}}",r.user).replace("{{SIZE}}",r.size).replace("{{LINK}}",r.link);s=$(s);$("#languages").append(s)}}var QUESTION_ID=42079;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/;var NUMBER_REG=/\d+/;var LANGUAGE_REG=/^#*\s*([^,]+)/
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src=https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js></script><link rel=stylesheet type=text/css href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id=answer-list><h2>Leaderboard</h2><table class=answer-list><thead><tr><td></td><td>Author<td>Language<td>Size<tbody id=answers></table></div><div id=language-list><h2>Winners by Language</h2><table class=language-list><thead><tr><td>Language<td>User<td>Score<tbody id=languages></table></div><table style=display:none><tbody id=answer-template><tr><td>{{PLACE}}</td><td>{{NAME}}<td>{{LANGUAGE}}<td>{{SIZE}}<td><a href={{LINK}}>Link</a></table><table style=display:none><tbody id=language-template><tr><td>{{LANGUAGE}}<td>{{NAME}}<td>{{SIZE}}<td><a href={{LINK}}>Link</a></table>