이 정수 시퀀스를 인쇄하는 프로그램을 찾으십시오 (고무 스레드)


20

이것은 강도의 실입니다. 경찰의 실이 여기 로갑니다 .

경찰 스레드에서 작업은 양수 (또는 음수가 아닌) 정수를 사용하고 다른 숫자 (필수 정수일 필요는 없음)를 출력 / 반환하는 프로그램 / 함수를 작성하는 것이 었습니다. 강도 작업은 경찰이이 결과물을 산출하는 데 사용한 코드를 해독하는 것입니다.

크랙 코드는 길이가 동일하고 노출 된 문자가 올바른 위치에있는 한 동일 할 필요는 없습니다. 언어도 동일해야합니다 (버전 번호는 다를 수 있음). 출력은 물론 동일해야합니다.

도둑의 솔루션에는 홉을 사용할 수 없습니다.

강도 스레드의 승자는 2016 년 5 월 7 일까지 가장 많은 제출물을 크랙 한 사용자가됩니다. 동점이있는 경우 가장 긴 결합 코드로 제출물을 크랙 한 사용자가 이깁니다.

제출 형식은 다음과 같습니다.

언어, nn 자 (답변 링크 포함), 경찰 사용자 이름

암호:

function a(n)
    if n<2 then
        return n
    else
        return a(n-1) + a(n-2)
    end
end

산출

a(0) returns 0
a(3) returns 2

선택적 설명 및 의견.


여기에서 이러한 규칙은 경찰과는 다릅니다. 그러나 동일한 출력 세트를 생성하는 제안 된 소스 코드도 OEIS에서도 발견되는 한 유효한 것으로 간주됩니다.
flawr

예제가 여러 OEIS 시리즈와 일치하면 어떻게됩니까? 이것은 Adnan과 나와 함께 일어났다
FliiFe

@FliiFe 현재 규칙에 따라, 경찰의 코드와 일치하고 경찰의 사례와 일치하는 값이 유효한 균열 인 OEIS 시퀀스를 출력하는 모든 코드.
Mego

완료 되었습니까? 승자가 있습니까?
앤드류 Savinykh

답변:



5

Hexagony , 7 바이트, Adnan , A005843

?{2'*!@

또는

 ? {
2 ' *
 ! @

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

단순히 입력을 두 배로 늘리고 양의 입력을 가정합니다. 코드는 읽기 순서대로 (한 번만) 실행됩니다. 이 코드는 다음 과 같이 메모리 포인터가 시작되는 3 개의 메모리 에지 A , B , C를 사용합니다.

enter image description here

?    Read integer from STDIN into edge A.
{    Move memory pointer forwards to edge B.
2    Set edge B to 2.
'    Move memory pointers backwards to edge C.
*    Multiply edges A and B and store result in C.
!    Print result to STDOUT.
@    Terminate program.

내가 가진 것과 똑같습니다! :)
Leaky Nun

@KennyLau 나는 솔루션의 역할을 교환 고유까지 생각 B하고 C.
Martin Ender

4

J, 7 바이트, Cᴏɴᴏʀ O'Bʀɪᴇɴ

암호

2+*:@p:

산출

   f =: 2+*:@p:
   f 0
6
   f 2
27

J.js로 사용해보십시오 .

작동 원리

서열 A061725는 로 정의 A (N) : P = N ² + 2 , P , n은 은 IS (N + 1) 번째 소수.

2+*:@p:  Monadic verb. Argument: n

    @    Atop; combine the verbs to the right and to the left, applying one after
         the other.
     p:  Compute the (n+1)th prime number.
  *:     Square it.
2+       Add 2 to the result.

좋은 작업! XD보다 코드를 더 잘 이해하고 있습니다
Conor O'Brien


4

자바 스크립트, 10 바이트 , user81655 , A033999

생각 나는 그것을 얻었다. 네. 이것은 정말로 어려웠다. 나는 우선 순위에 크게 의존하기 때문에 제출물을 좋아한다.


시퀀스 A033999입니다 .

a (n) = (-1) ^ n.

출처

t=>~t.z**t

설명

JavaScript 연산자 우선 순위에 따라이 코드를 분할하면 다음과 같은 이점이 있습니다 .

  1. .(우선 순위 18 )가 먼저 평가되고 t.z리턴 undefined됩니다.
  2. ~(우선 순위 15 )는 캐스트를 시도하고 undefined결과적으로 비트 단위가 아닌 후에 0리턴합니다 -1.
  3. **(우선 14 )를 호출 할 -1 ^ t경우, t홀수 또는 짝수 , 결과 -11.

데모

console.log(
    (t=>~t.z**t)(0),
    (t=>~t.z**t)(1),
);

구입하기 전에 시도


이 멋진 경찰 제출에 대해 100 명의 보상 현상금을 수여합니다.


1
맞습니다, 축하합니다! :)
user81655

나는 자바 스크립트에 정통한 것으로 생각하지만 이것이 어떻게 작동하는지 전혀 모른다 .
Conor O'Brien

@ CᴏɴᴏʀO'Bʀɪᴇɴ 설명을 추가했습니다. 잘하면 그것은 충분히 설명합니다.
insertusername 여기

그것이 무차별 대원이 찾지 못한 이유입니다. 나는 op_ 우선 순위가 잘못된 트랜스 필러를 사용했습니다.> _ <
Conor O'Brien

3

요소 , 7 바이트 , PhiNotPi , A000042

_'[,1`}

참고 : 나는 }soooooo 오랫동안 오해되었다 . 또한 일치 [합니다.

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


작동 방식 :

_'[,1`}
_        main_stack.push(input());
 '       control_stack.push(main_stack.pop());
  [      Object temp = control_stack.pop();
         for(int i=0;i<temp;i++){
   ,         Object a = main_stack.pop(); //is actually zero
             main_stack.push(a.toChars()[0]);
             main_stack.push(a);
    1        main_stack.push(1);
     `       System.out.println(main_stack.pop());
      }  }

좋은! 나는 이것을 시도하고 있었지만 ,일을 중단 하는 방법을 알 수 없었습니다 .
기금 모니카의 소송

내 트릭은 ,$1을 생성하는 것이 었습니다. 실제로 혼란스러운 ,연산자를 프로그램에 넣을 수있는 변명을주었습니다 .
PhiNotPi

나는 }tooooo 오래 동안 붙어 있었다 :(
Leaky Nun


3

MATL , 9 바이트, 비커 , A022844

코드 (끝에 공백이 있음) :

3x2xYP*k 

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

내가 쓴 스크립트와 일치하는 다음 세 가지를 찾았습니다.

Found match: A022844
info: "name": "Floor(n*Pi).",

Found match: A073934
info: "name": "Sum of terms in n-th row of triangle in A073932.",

Found match: A120068
info: "name": "Numbers n such that n-th prime + 1 is squarefree.",

나는 첫 번째 작업을 시도했지만 기본적으로 다음과 YP*k같이 수행됩니다 .

3x2x       # Push 3, delete it, push 2 and delete that too
    YP     # Push pi
      *    # Multiply by implicit input
       k   # Floor function


3

자바, 479 바이트 , Daniel M. , A000073

암호:

import java.util.*;
public class A{

    public static int i=0;
    public boolean b;

    static A a = new A();

    public static void main(String[] args){
        int input = Integer.parseInt(args[0]);

        LinkedList<Integer> l = new LinkedList<>();
        l.add(1);
        l.add(0);
        l.add(0);

        for(int ix = 0; ix<=input; ix++)if(ix>2){
            l.add(0,l//d
            .get(1)+l.peekFirst()+     l.get(2));
        }

        System.out.println(input<2?0:l.pop()
              +(A.i        +(/*( 5*/ 0 )));
    }
}

공개되지 않은 문자를 놓치면 공백으로 바뀝니다.


1
원래 코드와는 매우 다르지만 여전히 축하합니다!
Daniel M.


3

05AB1E , 4 바이트, Paul Picard , A001317

암호:

$Fx^

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

설명:

$      # Pushes 1 and input
 F     # Pops x, creates a for-loop in range(0, x)
  x    # Pops x, pushes x and 2x
   ^   # Bitwise XOR on the last two elements
       # Implicit, ends the for-loop
       # Implicit, nothing has printed so the last element is printed automatically

시퀀스는 기본적으로 이진 Sierpinski 삼각형입니다.

f(0)=      1                    =1
f(1)=     1 1                   =3
f(2)=    1 0 1                  =5
f(3)=   1 1 1 1                 =15
f(4)=  1 0 0 0 1                =17

그리고 공식으로 번역 a (n) = a (n-1) XOR (2 × a (n-1))로 변환합니다

운 좋게도 나는 이것을 기억 했다 :)


1
그리고 그것은 정확히 똑같습니다 : D
Paul Picard



2

Reng v3.3 , 36 바이트 , Cᴏɴᴏʀ O'Bʀɪᴇɴ , A005449

iv:#+##->>)2%æ~¡#~
#>:3*1+*^##</div>

산출

a(1) = 2
a(3) = 15

설명

)공간이 충분하지 않기 때문에 미리 지정된 명령을 완전히 무시했습니다 .

실제로 유용한 명령은 다음과 같습니다.

iv      >>)2%æ~
 >:3*1+*^

직선으로 뻗어 :

i:3*1+*)2%æ~

설명과 함께 :

i:3*1+*)2%æ~ stack
i            [1]      takes input
 :           [1,1]    duplicates
  3          [1,1,3]  pushes 3
   *         [1,3]    multiplies
    1        [1,3,1]  pushes 1
     +       [1,4]    adds
      *      [4]      multiplies
       )     [4]      shifts (does nothing)
        2    [4,2]    pushes 2
         %   [2]      divides
          æ  []       prints
           ~ []       halts

공식은 a(n) = n(3n+1)/2입니다.


</div>Reng 코드에 표시되는 HTML 닫기 태그 인 경우 +1입니다 .
user48538

@ zyabin101 잘못된 장소?
Leaky Nun

아니. 코드에서 숨겨진 비밀을 찾는 것을 좋아합니다. - P
user48538

글쎄, 이것은 경찰의 코드에, 그래서 ...
Leaky Nun

2

05AB1E, 3 바이트 , Adnan , A000292

LLO

산출

a(9) = 165
a(10) = 220

작동 원리

LLO Stack
L   [1,2,3,4,5,6,7,8,9]                         range
 L  [1,1,2,1,2,3,1,2,3,4,...,1,2,3,4,5,6,7,8,9] range of range
  O sum all of them

수학적으로 동등한 sum(sum(n))부분 sumsummation입니다.


좋은 직업, 그것은 똑같은 해결책이었습니다 :)
Adnan

2

Jolf, 11 바이트, QPaysTaxes , A000005

aσ0xxdxxxxx

간단한 충분 : alert σ0(의 약수의 개수) x, 다음 말에 쓸모없는 물건을 넣어.

온라인으로 사용해보십시오! 테스트 스위트 버튼이 약간 손상되었지만 여전히 적절한 결과를 보여줍니다.

(당신은 2 바이트로 골프를 쳤을 수 있습니다! 그냥 σ0잘했을 것입니다.)


1
와우! Le builtins 빼기! +1
Adnan

1
이것은 내가 가진 것과는 다르지만 확실히 작동합니다. 문서에서 제수를 찾는 것에 대한 언급이 없기 때문에 광산이 너무 길었습니다.
기금 모니카의 소송

@ QPaysTaxes 나는 문서를 업데이트해야한다고 생각합니다 : P 그러나 진지하게, Ctrl + F 소스 코드;)
Conor O'Brien

당신이 그것을보고 싶다면 내 원래 코드를 내 질문에 넣었습니다. 돌이켜 보면, 나는 다른 성격을 보여 주었어야했다. P
Fund Monica의 소송

2

파이썬 2, 87 바이트 , Sp3000 , A083054

n=input()
_=int(3**.5*n)-3*int(n/3**.5)########################################
print _

실제로 그렇게 어렵지는 않습니다. 주어진 공간에서 생성 될 수있는 것을 찾을 때까지 제약 조건을 충족하는 시퀀스를 검색했습니다.



2

자바 스크립트 (ES6), 119 바이트, Cᴏɴᴏʀ O'Bʀɪᴇɴ , A178501

x=>(n="=>[[["|x|"##r(###f#n###;##")|n?Math.pow("#<1##].c####t.##pl##[####nc#"|10,"y([###(###(#]###)"|x-1|``):0|`#h####`

실제 코드는 이것보다 까다로운 시퀀스를 생성한다고 확신하지만 두 출력 만으로이 OEIS 시퀀스는 간단하고 일치합니다.

무시되는 모든 문자가 없으면 알고리즘은 단지 x=>x?Math.pow(10,x-1):0입니다.









1

J, 8 바이트, Kenny Lau , A057427

암호:

(-%- )\.

산출:

a(0) = 0
a(1..29) = 1

나는 이것이 의도 된 것이라고 생각하지 않습니다. 그리고 J가 왜 이런 행동을했는지 모르겠습니다. 그러나 작동합니다.


하나 더 제한 추가 xd
Leaky Nun

1

Pyth , 70 바이트, FliiFe , A070650

코드 (아래에 난독 화 된 버전) :

DhbI|qb"#"qb"#"R!1Iqb"#";=^Q6+""s ]%Q27  ;.qlY+Q1Ih+""Z##;.q)=Z+Z1;@YQ
DhbI|qb"#"qb"#"R!1Iqb"#"#####+""s####2###;##lY+Q1Ih+""Z#####)=Z+Z1;@YQ (obfuscated)

이것은 기본적으로 다음을 수행합니다.

=^Q6%Q27

a (n) = n 6을 계산 합니다. 27 % 이고, A070650을 . 설명:

=^Q6       # Assign Q to Q ** 6
    %Q27   # Compute Q % 27
           # Implicit output

여기 사용해보십시오


죄송합니다. 다른 답변으로 답변을 업데이트했습니다.
FliiFe

규칙에서 유효합니다. 축하합니다!
FliiFe

나는 지금 당신에게 순서를 말할 수있을 것 같아요, 그것은 A007770 (0- 인덱스)
FliiFe

@FliiFe 아, 나는 그것을 결코 추측하지 않았을 것이다 : p
Adnan

실제로, 시퀀스를 알고 있다면 쉽게 발견 할 수 있지만, 그렇지 않으면 실제로 어려워집니다
FliiFe

1

Python, 108, CAD97 , A005132

def a(n):
 if n == 0: return 0
 f=a(n-1)-n
 return f if f>0 and not f in(a(i)for i in range(n))else a(n-1)+n

난독 화 된 코드 :

def a(n):
 ###n####0######n#0
 f=a#######
 return f #f#####a###### f ####a(##f###i#i###a####n##else a#######

출력 :

>>> a(0)
0
>>> a(4)
2
>>> a(16)
8
>>> a(20)
42

정확히 내가 가진 것. 쉽고 솔직하게 예상했습니다.
CAD97
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.