도전
문자열을 입력으로 받으면 해당 문자열을 출력하는 푸리에 프로그램 을 골프 다운 합니다.
푸리에에서는 문자열을 출력하는 쉬운 방법이 없습니다. 각 문자 코드를 거쳐 문자로 출력해야합니다.
푸리에
언어는 프로그램 시작시 0으로 초기화되는 전역 변수 인 누산기를 기반으로합니다. 언어의 거의 모든 연산자가 사용합니다. 일부는 누산기의 값을 변경하지 않습니다.
캐릭터 아웃
a
누산기의 값을 ASCII 코드로 사용하여 문자를 출력합니다. 누산기의 값을 변경하지 않습니다.
누산기가 255보다 큰 경우 프로그램은 오류를 반환합니다. 마찬가지로 누산기가 0보다 작은 경우.
번호 매기기
o
누산기의 값을 출력합니다. 누산기의 값을 변경하지 않습니다.
증가하다
^
누산기를 1 씩 늘리십시오.
감소
v
누산기를 하나씩 줄입니다.
더하다
+x
누산기를 누산기 값에 x 값을 더한 값으로 설정합니다.
덜다
-x
누산기를 누산기 값에서 x 값을 뺀 값으로 설정합니다.
곱하다
*x
누산기를 누산기 값에 x 값을 곱한 값으로 설정합니다.
분할
/x
누산기를 누산기 값을 x 값으로 나눈 값으로 설정합니다. (참고 분할이 정수인지 때문에 1/6
결과 0
)
번호
n
누산기를 정수 n으로 설정합니다.
노트
여기에, x
그리고 n
사이의 정수가 될 수 0
에 2^32-1
포함.
더 많은 정보
위에서 설명한 연산자 만 사용해야합니다. 따라서 다음 중 하나를 사용하면 출력 된 푸리에 프로그램이 유효하지 않습니다 (다음 연산자가 현상금에 허용됨).
- 반복 루프
- if 문
- 변수
- 무작위
- 모듈로
- 사용자 입력
- 연산자보다 크거나 적음
- 평등 연산자
- 화면 지우기
- 시간 지연
- 날짜 함수
프로그램은 전체 프로그램 또는 함수일 수 있으며 STDIN, 파일 또는 함수 인수를 통해 입력을받습니다. 인터넷에서 직접 입력 할 수도 있습니다.
a가있는 경우 참고 vv
코드에서, 당신이 그것을 교체해야합니다 -2
. 로 ^^
대체하여 동일 합니다 +2
.
예
입력이 7n
인 경우 예상되는 프로그램은 다음과 같습니다.
55a110a
그러나 당신은 1 바이트를 절약 할 수 있습니다
55a*2a
다른 방법은
7o110a
번호를 사용합니다.
마찬가지로 입력이 Hello
인 경우 예상되는 프로그램은 다음과 같습니다.
72a101a108a108a111a
출력이 누산기를 변경하지 않기 때문에 3 바이트 씩 골프 다운 할 수 있습니다.
72a101a108aa111a
그러나 더하기 연산자를 사용하여 2 바이트를 절약 할 수 있습니다.
72a101a+7aa+3a
서식
Martin Büttner의 Stack Snippet 리더 보드를 사용하므로 제목을 다음과 같이 형식화 할 수 있습니다.
# <Language name>, <length of total output> bytes
그런 다음 제목 아래에 원하는 것을 넣을 수 있습니다.
승리
당신은 출력 (코드에 의해 생성) 푸리에 프로그램의 길이를 게시해야 이 텍스트 파일 과 이 텍스트 파일을 . 점수는 두 푸리에 프로그램의 바이트 단위 길이입니다 (ASCII 이외의 문자는 푸리에에서 사용되지 않으므로 실제로 차이는 없습니다).
가장 낮은 점수를받은 사람이 승리합니다. 동점이 있으면 가장 짧은 바이트 단위의 프로그램이 이깁니다.
하사품
이 500 회 현상금은 푸리에의 기능을 사용하여 현을 골라내는 새로운 해답입니다. 여기에는 변수, 루프 및 if 문 등이 포함됩니다.이 새로운 답변은 허용되지 않습니다.
리더 보드
위의 포맷 섹션을 참조하십시오 :
var QUESTION_ID=55384;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(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var e={},a=1,r=null,n=1;answers.forEach(function(s){var t=s.body_markdown.split("\n")[0],o=jQuery("#answer-template").html(),l=(t.match(NUMBER_REG)[0],(t.match(SIZE_REG)||[0])[0]),c=t.match(LANGUAGE_REG)[1],i=getAuthorName(s);l!=r&&(n=a),r=l,++a,o=o.replace("{{PLACE}}",n+".").replace("{{NAME}}",i).replace("{{LANGUAGE}}",c).replace("{{SIZE}}",l).replace("{{LINK}}",s.share_link),o=jQuery(o),jQuery("#answers").append(o),e[c]=e[c]||{lang:c,user:i,size:l,link:s.share_link}});var s=[];for(var t in e)e.hasOwnProperty(t)&&s.push(e[t]);s.sort(function(e,a){return e.lang>a.lang?1:e.lang<a.lang?-1:0});for(var o=0;o<s.length;++o){var l=jQuery("#language-template").html(),t=s[o];l=l.replace("{{LANGUAGE}}",t.lang).replace("{{NAME}}",t.user).replace("{{SIZE}}",t.size).replace("{{LINK}}",t.link),l=jQuery(l),jQuery("#languages").append(l)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/,NUMBER_REG=/\d+/,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><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table></div> <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>