귀하의 언어로 코드를 작성하여 더 이상 프로그래밍 언어라는 기준을 만족시키지 않도록 하십시오.
다음과 같은 경우 언어는 프로그래밍 언어의 기준 (이 문제에 대한 단순화 된 버전)을 충족합니다.
- 어떤 식 으로든 양의 정수 튜플을 나타내는 사용자 입력을 읽을 수 있습니다.
- 입력에 따라 적어도 두 가지 가능한 결과를 출력 할 수 있습니다.
- 두 개의 양의 정수를 가져와 더할 수 있으며 결과는 출력에 영향을 줄 수 있습니다.
- 양의 정수를 취할 수 있고 소수인지 여부를 판별 할 수 있습니다 (결과가 출력에 영향을 줄 수 있음).
- 이 챌린지의 목적 상 , 일반적인 챌린지에 대해 허용 된 출력 방법 이 아닌 모든 종류의 출력 은 무시됩니다. 따라서 프로그램에서 음악을 재생할 수 있는지 또는 HTTP를 통해 게시 할 수 있는지 여부는 중요하지 않습니다.
- 업데이트 : 허용되는 출력 방법 중 하나를 선택하고 다른 모든 방법을 무시할 수도 있습니다. 그러나 다음 기준의 모든 곳에서 동일한 정의를 사용해야합니다. 또한 프로그램에서 둘 이상의 출력 방법을 비활성화 할 수 있다면 더 많은 찬사를받을 가치가 있습니다.
출력을 할 수 없게하거나 모든 루프 구성을 비활성화하는 등의 예는 우선 순위 테스트를 수행 할 수없고 사용자가 다시 사용할 수 없는지 확인합니다.
새 코드를 삽입 할 장소를 남겨 두어야합니다. 기본적으로 코드의 끝에 있습니다. 우리가 고려하는 경우 당신의 대답에 그 자리에 소스 코드를 넣고 완전한 프로그램으로 전체 코드를 실행하는 새로운 언어의 통역을, 그 언어는 기준을 만족해서는 안된다.
그러나 삽입 된 코드는 기준을 만족하는 언어 와 같은 방식으로 실행되어야 합니다.
- 삽입 된 코드는 문법적 으로 형광펜을 작성하려는 사람의 관점에서 일반적으로 기준을 만족 하는 것과 문법적으로 동일해야합니다 (예 : 다음 기준 의 코드 블록 ). 따라서 문자열, 주석 등이 될 수 없습니다.
- 삽입 된 코드는 실제로 기준을 충족시키는 방식으로 실행되어야합니다. 따라서 사용하지 않는 함수 또는
sizeof
C에있을 수 없으며 코드에서 기능하지 않은 부분 만 실행할 수 없으며 무한 루프 뒤에 넣을 수 없습니다. - 이 방법으로 생성 된 문법적으로 올바른 프로그램의 수를 제한 할 수 없습니다. 사용중인 언어의 길이 제한과 같은 것이 이미 있으면이 제한을 제거하더라도 기준을 충족하지 않아야합니다.
- 입력 / 출력의 내용을 수정하거나 "사용"할 수는 없지만 액세스 할 수는 없습니다.
- 이러한 기준은 일반적으로 명시적인 I / O가없는 언어에만 적용됩니다.
- 코드 블록이 일반적으로 사용중인 언어로 사용자 입력을 직접 / 명시 적으로 얻을 수없는 경우 코드는 사용자 입력 (임의의 길이 정보를 포함하는)을 삽입 된 코드로 리디렉션해야합니다.
- 코드 블록이 일반적으로 사용중인 언어로 직접 / 명시 적으로 출력 할 수없는 경우 코드는 삽입 된 코드의 반환 값을 인쇄해야합니다.
- 반환 된 값을 인쇄하고 사용중인 언어로 입력 한 경우 반환 된 유형은 실제로 가능한 두 가지 값을 가질 수 있어야합니다. 예를 들어, 유형을 사용
struct {}
하거나struct {private:int x;}
C ++에서 사용할 수 없습니다 .
이것은 인기 콘테스트입니다. 가장 높은 투표 유효 답변 (아무도 오류를 발견하지 않았거나 모든 오류가 수정되었습니다)가 이깁니다.
설명
- 텍스트 형식으로 코드를 수정해서는 안되지만 코드를 해석하거나 컴파일하기 전에 구문을 변경할 수 있습니다.
- 코드가 실행되는 동안 다른 작업을 수행 할 수 있습니다. 그러나 기준을 충족시키지 못하는 이유는 삽입 된 코드 자체 내에 있어야합니다. 다른 스레드의 간섭으로 인해 오류가 발생할 수 있지만 다른 스레드에 의해 종료되지는 않습니다.
- 모든 사양은 기본적으로 모든 내장 기능이 변경 되지 않았지만 실제로 변경 되지 않은 경우 문법적으로 기준을 충족 해야 함을 의미합니다 . 매개 변수를 코드 블록에 올바르게 전달하는 것과 같은 문법 이외의 해결 방법을 찾으면 어떤 식 으로든 사용할 수 없게 만드는 것이 좋습니다.
- 다시 삽입 된 코드는 실제로 실행되어야합니다. 무한 루프 또는 충돌 후 코드 는 "실제로 실행되지 않음"으로 간주되므로 유효하지 않습니다 . 이 답변은 흥미로울 수 있지만이 사이트에는 이미 다른 무한 루프 또는 충돌하는 질문이 있으며 더 적합한 답변을 찾을 수 있습니다. 그렇지 않은 경우 새로운 질문을 고려하십시오. 이러한 질문의 예는 다음과 같습니다.
리더 보드
var QUESTION_ID=61115/*,OVERRIDE_USER=8478*/;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,/*getComments()*/(more_answers?getAnswers():process())}})}/*function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}*/function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),score:s.score,language:a[1],lang:jQuery('<div>').html(a[1]).text(),link:s.share_link})}),e.sort(function(e,s){var r=e.score,a=s.score;return a-r});var s={},r=1,a=null,n=1;e.forEach(function(e){e.score!=a&&(n=r),a=e.score,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",e.n=n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.score).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text())/*,s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}*/});var t=e/*[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o])*/;t.sort(function(e,s){return (e.lang.toUpperCase()>s.lang.toUpperCase())-(e.lang.toUpperCase()<s.lang.toUpperCase())||(e.lang>s.lang)-(e.lang<s.lang)});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{PLACE}}",o.n).replace("{{LANGUAGE}}",o.language).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.score).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<(?:h\d|(?!.*<h\d>)p)>\s*((?:[^,;(\s]| +[^-,;(\s])+)(?=(?: *(?:[,;(]| -).*?)?\s*<\/(h\d|p)>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;float:left}table{width:250px}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="https://cdn.sstatic.net/Sites/codegolf/all.css?v=7509797c03ea"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Score</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Sorted by Language</h2> <table class="language-list"> <thead> <tr><td></td><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{PLACE}}</td><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>