귀하는 사용자입니다 : 요구 사항 작성


15

내 상사 *는 프로그래머가 변화하는 프로그램 요구 사항에 부정적인 반응을 보이는 이유를 이해하지 못합니다. 그녀가 이해하도록 도와주세요! 모든 답변에 새로운 요구 사항을 만드십시오. 그런 다음 새로운 프로그래밍 언어로 해당 요구 사항과 모든 이전 요구 사항을 해결하는 프로그램 / 기능을 작성하십시오.

사용자 1이 첫 번째 답변을 게시합니다. 그는 프로그램이 "Hello, World"를 출력하도록 지정합니다. 그는 "Hello, World"를 출력하는 프로그램을 Java로 작성합니다.

사용자 2는 두 번째 답변을 게시합니다. 그녀는 프로그램이 입력 n을 승인 하고 n 번째 소수를 최대 언어 수까지 출력하도록 지정합니다 . 그녀는 입력 받아 C ++에서 프로그램 생성 N을 하고 출력하는 N 번째 주요 출력에 "Hello, 세계를." 그녀는 Java로 프로그램을 만들 수 없었습니다.

사용자 3이 세 번째 답변을 게시합니다. 그는 프로그램 소스가 "Hello"텍스트를 포함 할 수 없도록 지정합니다. 그는 입력 n 을 받아들이고 n 번째 소수와 "Hello, World"를 출력 하는 함수를 Python으로 작성합니다 . 소스에서 "Hello"라는 텍스트를 사용하지 않는 동안 그는 Java 나 C ++로 프로그램을 만들 수 없었습니다.

답변 형식

#Answer # - <language name> [version, if pertinent]

Requirement: <rule>.

<code>

[explanations, encoding, TIO link, etc.]

답변 규칙

  • 답은 위의 형식 또는 이와 유사한 형식을 따라야합니다.

  • 답은 프로그램이나 기능 일 수 있습니다.

  • 정답은 현재 정답까지 모든 요구 사항을 충족해야합니다.

  • 동일한 사용자가 두 개의 답변을 연속으로 게시 할 수 없습니다.

  • 두 개의 답변이 같은 번호로 게시 된 경우 나중에 게시 된 답변을 삭제해야합니다.

  • 잘못 엉망 이고 다른 답변이 게시 되지 않은 경우를 제외하고 요구 사항을 편집하지 마십시오 .

  • 답변이 규칙 및 다른 모든 규칙을 준수하지 않으면 유효하지 않습니다. 다른 사람이 다음 답변을 게시하기 전에이 문제를 해결하십시오.

  • 동일한 버전의 다른 버전은 두 버전 중 하나에서 생성 된 프로그램이나 기능이 다른 버전과 다르게 작동 할 경우 다른 언어로만 계산됩니다 .

  • 대답은 필요하지 않은 입력을 허용하지 않을 수 있으며 필요한 공백을 제외하고 필요하지 않은 것을 출력하지 않을 수 있습니다. 그러나 뒤에서 프로그램은 모든 "숨겨진"(사용자로부터) 요구 사항을 모두 충족해야하지만, 특히 실행 시간 요구 사항을 충족해야하는 경우 원하는 다른 작업을 수행 할 수 있습니다.

요구 사항 규칙

  • 요구 사항은 하나의 요구 사항 만 지정해야합니다. 이 요구 사항은 조건부 일 수 있으며,이 요구 사항에 입력 및 / 또는 출력이 필요한 경우이를 포함 할 수 있습니다.

  • 요구 사항은 이전 요구 사항을 제거 또는 수정하거나 요구 사항과 충돌하지 않지만 요구 사항을 확장 할 수 있습니다 (어떤 것을 지정하십시오).

  • 요구 사항 소스 (제한하는 경우 ) 또는 소스의 텍스트를 필요, 그것은 단지 하나의 문자열 (예 제거 할 수있다 0, Hello), 또는 하나의 문자가 필요합니다.

  • 요구 사항은 소스가 100 바이트 미만이어야하거나 특정 인코딩이 필요하거나 그 자체로 대부분의 공통 언어를 배제 할 수 없습니다.

  • 이 요구 사항으로 인해 소스가 제한된 소스에 지정된 패턴 이외의 특정 패턴 (예 : 특정 문자로 각 줄 시작 또는 특정 값으로 @@ 해시)을 따르도록 강제하지 않을 수 있습니다.

이것은 이므로 모든 답변은 이전 답변을 기반으로합니다. 나와 다른 사람들은 모든 요구 사항의 목록을 유지하려고 노력할 것입니다. 답변을 순서대로 보려면 가장 오래된 항목별로 정렬하면됩니다. 최신 답변을 보려면 가장 오래된 답변을 정렬 한 다음 목록 끝으로 이동하십시오.

승리하는 방법 (유권 투표로 변경) :

2 주 동안 답변이 게시되지 않으면 챌린지가 끝나고 점수가 계산됩니다. 점수는 각 사용자의 총 답변 수를 합산하여 체인에 얼마나 멀리 있는지에 따라 게시물에 가중치를 부여하여 계산됩니다 (후반 게시물에는 더 많은 요구 사항이 있으므로 더 어렵습니다).

의사 코드 :

for each answer in user.Answers {
   score += 1 + (answer.number / 100)
}

예:

샐리는 세 가지 답변이 있습니다. 그녀는 답변 5, 답변 7 및 답변 20을 게시했습니다.

그녀의 점수는 1.05 + 1.07 + 1.2 = 3.32 . 그것이 정답의 합이라면 그녀의 점수는 3이되지만 체인 깊이의 가중치는 더 어려운 답에 보상합니다.

시작한다:

내 상사가 제공 한 첫 번째 요구 사항은 다음과 같습니다. *

요구 사항 0 : 프로그램은 다른 것보다 먼저 0을 출력해야합니다.

*꾸며낸

요구 사항 및 언어 목록

최신 정보가 아닐 수 있습니다. 답변을 게시하기 직전에 마지막으로 게시 된 답변을 확인하여 모든 요구 사항을 충족하는지 확인하십시오. 누군가를 위해 절묘한 프로그램을 만들면 정말 죄송합니다. 실제로 게시하려는 경우 비 경쟁을 지정하십시오.

전체 (하지만 어쩌면 현재 없음) 요구 사항은 : 포함 할 수 없음 0, *또는 ]소스 코드 및 가입 -에 - 줄 바꿈 내장 사용할 수 없습니다. 0그런 다음 출력 은 음이 아닌 정수 입력을 취하여 n개행을 출력하고 0으로 색인 된 nth 피보나치 수 ( 1색인화 될 수 있음 ), 개행,이어서 동일한 입력 n 제곱, 개행, n배수를 차례로 출력합니다. 새로운 입력하여 m다음 개행이어서, 10^B여기서 B의해 다음 개행 다음 소스 코드에서 바이트의 개수이다 n번째는 0-indexed (도있을 수 1소수 -indexed), 개행,이어서 n과 m의 최대 공약수를 따릅니다.

0 : 프로그램이 0다른 것보다 먼저 출력해야합니다 . 언어 : 해당 사항 없음
1 : 프로그램 소스에 포함 할 수 없습니다 0. 언어 : 05AB1E
2 : 프로그램은 음이 아닌 정수 입력을 받아서 -indexed n 번째 피보나치 수 ( 색인화 될 수 있음 ) n와 함께 줄 바꿈을 출력합니다 . 언어 : dc 3 : 프로그램이 줄 바꿈을 출력 한 다음 동일한 입력 제곱을 출력합니다 . 언어 : J 4 : 프로그램은 개행을 출력 한 다음 새로운 입력 을 곱합니다 . 언어 : 옴 5 : 프로그램은 (ASCII 코드 )를 포함 할 수 없습니다 . 언어 : Python 301
n
nm
*0x2A
6 : 프로그램이 개행을 출력 한 다음 10^B,B소스 코드의 바이트 수입니다. 언어 : 매쓰
7 : 프로그램이 다음 개행, 출력 n번째 0-indexed (도있게 1-indexed)의 소수. 언어 : 자바 스크립트 (ES6)
8 :이 프로그램은 줄 바꿈에 기본 제공되는 내장 기능을 사용하지 않지만 다른 기본 제공 내장 기능을 사용할 수 있습니다. 언어 : 젤리
9 : 프로그램은 개행을 출력하고 그 뒤에 n과 m이 가장 큰 공약수를 출력합니다. 언어 : 스칼라
10 : 프로그램 은를 포함 할 수 없습니다 ]. 언어 : Pyth

현재 점수 (첫 번째 게시물별로 정렬)

Okx : 1.01
R. Kap : 2.09
Conor O'Brien : 1.03
Nick Clifford : 1.04
Eric Rose : 1.05
Greg Martin : 1.06
Outgolfer Erik : 2.18
math_junkie : 1.09


3
왜 마지막 답을 받아들입니까? 따라서 아무도 충족시킬 수없는 요구 사항을 추가하면 승리하는 것처럼 보입니다.
xnor

5
예를 들어 "프로그램의 md5 해시는 ..."
Conor O'Brien

2
규칙이 체인을 끝내는 요구 사항을 방지하기 위해 유지하더라도 여전히 "승리 조건"을 갖는 것은 사람들이 재미있는 규칙보다는 거의 불가능한 규칙을 만드는 것을 권장합니다.
xnor

2
@StephenS 글쎄, 사람들이이기려고 연주하지 않는 것 같아서 내 관심사가 잘못 놓인 것 같습니다.
xnor

2
이것은 '범위 크리프'라고한다
NonlinearFruit

답변:


2

답변 10-Pyth

요구 사항 : n(> = 0) 및 m. 출력 0 을 사용하지 않고 0, *또는 ]소스 코드에서 어디와 줄 바꿈에 가입을위한 내장 명령없이. 그러면 다음 개행 출력 1(될 수 -indexed n 번째 피보나치 수 0뒤에 개행 다음 인덱스), n이어서 개행 다음 제곱, n곱한 m다음 개행이어서, 10^B여기서 B바이트의 번호를 소스 코드에서, 개행 다음과 n토륨 1(도있게 -indexed 0-indexed) 소수, 마지막 개행 및 N의 최대 공약수 및 m 하였다.

JU2KE=H2VQ=+Js>2J=+YK=hHW!P_H=hH;jb[ZeJ^Q2sY^T51HiK

온라인 통역사


그렇습니다 이것은 또한 골프입니다 :-)
Erik the Outgolfer

또한 주석을 달기 전에 아니요 j대신을 사용할 수 없습니다 jb. 왜냐하면 줄 바꿈에 내장 된 라인을 사용하기 때문입니다.
Outgolfer Erik

6

답변 1-05AB1E

요구 사항 : 소스 코드에서 0...없이 인쇄0

¾

4

답변 3- J

echo"+(1-1),(*:,~[:+/@:!&i.-)@".1!:1(3)

요구 사항 : 소스 코드에 0없는 출력 0, 음이 아닌 정수 입력 n을 가져 0와서 -indexed n'th 피보나치 수 ( 1색인화 될 수 있음 ), 줄 바꿈, 동일한 입력 n제곱이 뒤 따르는 개행을 출력 합니다.

온라인으로 사용해보십시오!


4

답변 4 —

요구 사항 : 소스 코드에 0없는 출력 0, 음이 아닌 정수 입력을 취하여 n0 색인 된 n피보나치 수 (1 색인 일 수 있음), 줄 바꿈, 동일한 입력 n 제곱, 그 다음에 줄 바꿈이오고 그 뒤에 n새로운 입력이 곱해집니다 m.

¼,≡ƒ,²,*,

4

답변 2-dc

12298P?sa1 1-sb1sc[lblcdsb+scla1-dsa1 1-<y]dsyxlcp

요구 사항 : 소스 코드에 0없는 출력 0, 음이 아닌 정수 입력을 취하고 -indexed 'th fibonacci number ( indexed)의 n뒤에 오는 개행을 출력합니다 .0n1

온라인으로 사용해보십시오!


@ R.Kap 문제 없음 :)
Stephen

2
새로운 요구 사항을 읽을 때 어떤 이유로 나는 웃기 시작했습니다. +1.
스파클 포니 동지

4

답변 5 -Python 3

요구 사항 : 소스 코드에서 0없이 0을 출력 한 다음 음이 아닌 정수 입력 n을 취하여 0 색인 n 번째 피보나치 수 (1 색인 일 수 있음), 줄 바꿈, 동일한 입력이 오는 개행을 출력합니다. n 제곱, 개행, n에 새로운 입력 m이 곱해집니다. *ASCII 코드 0x2A 문자를 사용하지 마십시오 .

    def f(n, m):
        print(1-1)
        a = 1-1
        b = 1
        for i in range(n):
            c = a+b
            a = b
            b = c
        print(b)
        print(n.__mul__(n))
        print(n.__mul__(m))

3

답변 6 — 수학

요구 사항 : 소스 코드에서 0 또는 *없이 0을 출력 한 다음 음이 아닌 정수 입력 n을 가져 와서 줄 바꿈 다음에 0 색인 n 번째 피보나치 수 (1 색인 일 수 있음)와 줄 바꿈을 차례로 출력합니다. 동일한 입력 n을 제곱 한 다음 줄 바꿈, n을 곱한 줄 m, 줄 바꿈, 10 ^ B가 있습니다. 여기서 B는 소스 코드의 바이트 수입니다.

((e=Echo)[1-1];e@Fibonacci@#;e[#^2];e[1##];2^# 5^#&@59)&

1
그렇기 때문에 EricRoe가 1 분 동안 나를 이겼다는 것을 알게 된 후 성급한 편집을했습니다.
Greg Martin

2

답변 7-자바 스크립트 (ES6)

(a,b)=>String.fromCharCode(48)+'\n'+(m=(a)=>a>1?m(a-1)+m(a-2):1)(a)+'\n'+Math.pow(a,2)+'\n'+Math.exp(Math.log(a)+Math.log(b))+'\n'+1E257+'\n'+(T=(u,i=2,l=1-1,m=2)=>l<=u?(p=(o,z=2,s=1-1)=>z<o?p(o,z+1,s+(o%z<1&&z!=o)):s)(i)<1?T(u,i+1,l+1,i):T(u,i+1,l,m):m)(a)

요구 사항 : 음수가 아닌 정수 n와 임의의 숫자를 입력 m하고 소스 코드 의 아무 곳이나 사용하지 않고 포함 된 문자열을 반환 하는 함수 , 그 다음에 -indexed th 피보나치 숫자 ( 색인화 가능) 다음에 줄 바꿈에 의해 다음에 줄 바꿈 다음 제곱, 곱한 를 사용하지 않고 다음에 줄 바꿈 다음에 소스 코드에서 어디, 어디 소스 코드의 바이트 수이며, 마지막으로 다음에 줄 바꿈과 번째는 (도있을 수 있습니다 -indexed -indexed) 소수를.000n1nnm*10^BBn01

테스트 스 니펫


당신은 변경하여 바이트의 상당한 금액을 절약 할 수 String.fromCharCode(48)1-1. ;-) (또한 소스 코드에는 나중에 같은 방식으로 고칠 수있는 두 개의 0이 있습니다)
ETHproductions

1

답변 8- 젤리

요구 사항 : 음이 아닌 정수인 두 개의 입력을받는 함수 n 와 숫자를 입력 m하고 소스 코드 의 아무 곳이나 사용하지 않고 포함 된 문자열을 반환 하는 함수 , 그 다음에 줄 바꿈- 피싱 된 피보나치 수 ( 인덱싱 가능) 다음에 줄 바꿈에 의해 다음에 줄 바꿈 다음 제곱, 곱한 를 사용하지 않고 다음에 줄 바꿈 다음에 소스 코드에서 어디, 어디 소스 코드의 바이트 수이며, 마지막으로 다음에 줄 바꿈 및 th- 색인화000n1nnm*10^BBn01-색인) 소수. 개행에 참여하기위한 기본 제공은 허용되지 않지만 기본 제공은 여전히 ​​허용됩니다.

ÆḞṭØDW⁺¤;⁸²¤;×;ȷ25;⁸ÆN¤j⁷

온라인으로 사용해보십시오!


네 골프입니다.
Outgolfer Erik

1

답변 9-스칼라

요구 사항 : n(> = 0) 및m . 소스 코드를 0사용 0하거나 사용 *하지 않고 개행을위한 내장 기능 없이 출력 합니다 . 그러면 다음 개행 출력 1(될 수 -indexed n 번째 피보나치 수 0뒤에 개행 다음 인덱스), n이어서 개행 다음 제곱, n곱한 m다음 개행이어서, 10^B여기서 B바이트의 번호를 소스 코드에서, 개행 다음과 n토륨 1(도있게 -indexed 0-indexed) 소수, 마지막 개행 및 N의 최대 공약수 및 m 하였다.

(n:Int,m:Int)=>{
 val z=1-1;val o=println _;var i=1;var j=z
 o(z)
 o((1 to n).foldLeft(z,1)((a,b)=>(a._2,a._1+a._2))._1)
 o(math.pow(n,2))
 o(List.fill(n)(m).sum)
 o(math.pow(9+1,299))
 while(j!=n){i+=1;if((2 to i-1)forall(i%_!=z))j+=1};o(i)
 o((1 to math.min(n,m)).filter(c=>n%c==z&&m%c==z).last)
}

여기서 사용해보십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.