minmod 함수 친숙한 변형이다 분 편미분 방정식에 대한 기울기 제한 고해상도 구조에서 나타난다. 여러 개의 경사면이 주어지면 경사면 사이의 상대적 표시를 처리하면서 가장 평평한 경사를 선택합니다.
이 함수는 임의의 수의 매개 변수를 사용합니다. 그런 다음 minmod (x 1 , x 2 , ..., x n ) 은 다음과 같이 정의됩니다.
- 모든 x i 가 엄격하게 양수인 경우 min (x 1 , x 2 , ..., x n )
- 모든 x i 가 엄격히 음수 인 경우 max (x 1 , x 2 , ..., x n )
- 그렇지 않으면 0 입니다.
정수 입력 만 고려할 것입니다. 정수 입력은 실제로 구현에 영향을 미치지 않으며 일부 (비밀 한) 언어에보다 포괄적이어야하기 때문입니다.
STDIN, ARGV 또는 함수 인수를 통해 n 개의 부호있는 정수 ( n> 0 )를 취하는 프로그램 또는 함수를 작성하고 ( 가변 함수보다 편리한 경우 배열을 사용할 수 있음) 결과를 반환하거나 인쇄합니다 (STDOUT에) 의 (a, b) minmod .
내장 min 또는 max 기능을 사용해서는 안됩니다 ( 실제로 그것을 찾을 수 있다면 내장 minmod 도 없습니다 ). 또한 고정 된 소수의 항목 (5 미만) 을 정렬하는 경우 를 제외하고 내장 정렬 기능을 사용해서는 안됩니다 .
언어에 부호있는 유형이없는 경우 부호없는 유형을 사용하여 2의 보수로 해석 할 수 있습니다 . 언어는 부호없는 바이트를 사용 예, 당신은 사용할 수 있습니다 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>