우물의 달팽이


47

배경

다음과 같은 일반적인 수수께끼가 있습니다.

달팽이는 30 피트 아래쪽에 있습니다. 달팽이는 매일 3 피트를 올라갈 수 있습니다. 밤에 잠을 자면 2 피트 아래로 미끄러 져 내려갑니다. 달팽이가 우물에서 나오려면 며칠이 걸립니까?

직관적 인 대답은

달팽이가 30 일 동안 하루에 1 피트 씩 올라 정상에 도달하기 때문에 30 일,

그러나 실제로 대답은

일단 달팽이가 공중에서 27 피트 (27 일 후)에 도달하면, 28 일에 나머지 3 피트를 위로 올라 가기 때문에 28 일입니다.

도전

이 도전은이 수수께끼를 일반화합니다. 총 높이, 상승 높이 및 하강 높이를 나타내는 3 개의 양의 정수가 입력으로 주어지면 우물에서 상승하는 데 걸리는 일 수를 반환합니다.

달팽이가 우물 밖으로 나올 수 없으면 0을 반환하거나 잘못된 값을 반환하거나 예외를 throw 할 수 있습니다. 솔루션이있는 경우에만 중단되는 코드를 작성할 수도 있습니다.

원하는 경우 가을 높이를 음의 정수로 사용할 수 있습니다.

테스트 사례

(30, 3, 2)-> 28
(84, 17, 15)-> 35
(79, 15, 9)-> 12
(29, 17, 4)-> 2
(13, 18, 8)-> 1
(5, 5, 10)-> 1
(7, 7, 7)-> 1
(69, 3, 8)-> 없음
(81, 14, 14)-> 없음

채점

이것은 이므로 각 언어에서 가장 짧은 답변이 이깁니다.



8
누군가가 회색 달팽이로 대답하면 현상금을 수여 할 것입니다. Esolangs 페이지는 단지 빈 스텁이지만,이 몇 가지 정보 및 사용 가능한 온라인 컴파일러 뿐만 아니라 맥주 문제의 99 병에 대한 샘플 프로그램 .
musicman523

4
나는 이것이 단순한 공식 일 것이라고 생각했지만, 사례는 놀랍도록 흥미 롭습니다.
xnor

당신은 여전히 ​​"몇 시간 ..."을 가지고 있습니다. 답은 27 * 24 + 12입니다 (12 시간 '일'가정).
Francis Davey

2
@WheatWizard 나는 가장 짧은 회색 달팽이 답변에 현상금을 수여합니다
musicman523

답변:


21

회색 달팽이 , 숫자 I / O의 경우 1206 바이트, 단항 I / O의 경우 149 바이트

재미 로요 첫 번째 프로그램의 구성 :

  • 451 바이트, 숫자를 점으로 변환
  • 121 바이트, 핵심 기능 (아래에 분리 된 버전이 작성 됨)
  • 634 바이트, 점을 숫자로 변환

숫자를 입력하고 출력하십시오. 입력되고 A, B, C각각. 다른 (거의) O(1)답변과 비교할 때 코드의 복잡도는 O(n)입니다. 그러나 많은 수의 경우 메모리가 먼저 소모 될 수 있습니다.

해결책이 없으면 정지합니다.

INPUT p
POP Z r .!
f
POP Z o .
q
POP Z p [p]
GOTO [Z]
0
POP Z n .
GOTO w
1
POP Z n ..
GOTO w
2
POP Z n ...
GOTO w
3
POP Z n ....
GOTO w
4
POP Z n .....
GOTO w
5
POP Z n ......
GOTO w
6
POP Z n .......
GOTO w
7
POP Z n ........
GOTO w
8
POP Z n .........
GOTO w
9
POP Z n ..........
GOTO w
w
POP Z o .[o][o][o][o][o][o][o][o][o][o][n]
GOTO [r] [p] 
GOTO q
!
POP Z A .[o]
INPUT p
POP Z r .@
GOTO f
@
POP Z B .[o]
INPUT p
POP Z r .#
GOTO f
#
POP Z C .[o]
POP H N .[B]
U
POP Z A [A]
POP Z B [B]
GOTO D [A] 
GOTO $ [B] 
GOTO U
$
POP Z A .[A][C]
POP Z H ..[H]
POP Z B .[N]
GOTO U
D
POP Z r .
POP Z M .
POP Z N ...........
POP Z z .[N]
POP Z V .[H]
+
GOTO l[V] [H] 
POP Z H [H]
POP Z z [z]
GOTO ( [z] 
GOTO +
(
GOTO ) [H] 
POP Z z .[N]
POP Z M ..[M]
POP Z V .[H]
GOTO +
)
POP Z r .0[r]
POP Z M ..[M]
POP Z H .[M]
POP Z M .
POP Z V .[H]
POP Z z .[N]
GOTO +
l
POP Z r .0[r]
GOTO -
l.
POP Z r .1[r]
GOTO -
l..
POP Z r .2[r]
GOTO -
l...
POP Z r .3[r]
GOTO -
l....
POP Z r .4[r]
GOTO -
l.....
POP Z r .5[r]
GOTO -
l......
POP Z r .6[r]
GOTO -
l.......
POP Z r .7[r]
GOTO -
l........
POP Z r .8[r]
GOTO -
l.........
POP Z r .9[r]
GOTO -
-
GOTO / [M] 
POP Z H .[M]
POP Z M .
POP Z V .[H]
POP Z z .[N]
GOTO +
/
OUTPUT [r]

f정수를 점으로 변환하는 (아마도) 재귀 함수입니다. 인수는에 저장 [p]되고에 출력됩니다 [o].

U기능 시험이다 S1>=S2의 파라미터 저장 B, A절약 상태 A-B로는 A.

시작 코드 D는 점을 숫자로 변환하는 스텁입니다.

기본 원칙은 내 C 답변과 동일합니다 (불가능한 해결책을 위해 허위 출력을 제거합니다).

독립형 버전, 149 156 157 167 170 230 바이트, 단항 I / O 만 지원

..........를 들어 입력은 점이어야 합니다 10.

INPUT A
INPUT B
INPUT C
POP N H .
GOTO U
$
POP N A .[A][C]
POP Z H ..[H]
U
POP Z A [A]
POP Z N ..[N]
GOTO D [A] 
GOTO $ .[B] [N]
GOTO U
D
OUTPUT .[H]

U를 계산 A=A-B하고 Dwhen로 이동합니다 A<=0. 그렇지 않으면 $할당 A+CA와 전화 U.

해결책이 없으면 정지합니다.

요령 : 빈 문자열을 해석하는 "컴파일러"기능을 남용합니다. 조건 GOTO없는 점프를하기 위해 명령문 에서 조건을 제거 하고 동일한 트릭을 사용할 수 POP있습니다.

비고 : 3 바이트 씩 더 골프를 치는 것이 가능하지만 내 것과 WheatWizard의 대답은 정확히 같은 논리를 갖습니다. 결과는 아마도 가장 짧은 GraySnail 솔루션이며 증명하려고합니다.


당신은 그것을 처음으로 만들었습니다
Евгений Новиков

내가 방금 내가 너보다 더 짧게했다고 알려줄 거라고 생각 했어. 바이트가 짧고 최신 골프에서 영감을 얻습니다.
밀 마법사

@WheatWizard 나는 당신의 오래된 대답을 기반으로 한 155 바이트 솔루션을 가지고 있습니다. 그러나 스포츠맨 정신을 위해 나는 그것을 나의 대답으로 보지 않을 것입니다.
Keyu Gan

@KeyuGan 아니오, 계속하십시오. 나는 그 게임에 대한 모든 담당자를 신경 쓰지 않는다. 맞아서 기쁘다 내 코드가 골프를 칠 수 있다면 그것을 보지 못하는 것이 내 잘못입니다. :)
밀 마법사

@WheatWizard 나도. PPCG에서 가장 좋은 시간이라고 확신합니다.
Keyu Gan

20

참고 : 주석 수에서 Martin Ender는 바이트 수에 의문을 제기하고 있습니다. C # 답변에서 명명 된 재귀 람다 식으로 무엇을 해야할지에 대한 명확한 합의가없는 것 같습니다. 그래서 메타 에 대해 질문 했습니다.

C # (. NET 코어) , 32 31 바이트

f=(a,b,c)=>a>b?1+f(a-b+c,b,c):1

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

재귀 적 접근. 달팽이가 탈출 할 수 없으면 다음 메시지로 끝납니다.Process is terminating due to StackOverflowException.

  • LiefdeWen 덕분에 1 바이트가 절약되었습니다!

1
당신은 변화 바이트 바이트를 저장할 수 a<=ba>b다음과 같은 부품과 교환
LiefdeWen

3
ES6에서 동일한 코드가 작동 함f=(a,b,c)=>a<=b?1:1+f(a-b+c,b,c)
Tushar

f재귀 호출 에 해당 이름을 사용하는 경우 함수를 이름에 할당하는 코드를 계산해야합니다 .
마틴 엔더

4
나는 C #에서 골프를 치지 않기 때문에 합의가 무엇인지 완전히 확신하지 못하지만, f이름이 붙으면 선언 과 세미콜론 이있는 완전한 진술이 필요하다고 예상 했을 것입니다. 내가 찾은 첫 번째 것은 이것 이지만 명확한 합의는 없습니다.
마틴 엔더

2
@MartinEnder 나는 보통 Carlos가 여기에서 한 것처럼 그냥 선언한다. 선언은 f=...세미콜론을 끝에 추가해야하는지 확실하지 않기 때문이다.
TheLethalCoder

13

GRAY 달팽이 219 206 169 167 159 156 146 바이트 (단항 IO)

INPUT a
INPUT u
INPUT d
POP U c 
GOTO 1
3
POP f a [a][d]
POP U c ..[c]
1
GOTO 2 [a] 
GOTO 3 [U] [u]
POP f U ..[U]
POP f a [a]
GOTO 1
2
OUTPUT [c].

나는 이것을 조금 아래로 내릴 수 있다고 생각한다.


축하합니다!
Keyu Gan

11

자바 스크립트 (ES6), 31 28 27 바이트

@Arnauld 덕분에 몇 바이트를 절약했습니다.

나는 우리가 예외로 실패 할 수 있다는 것을 몰랐다. 이것이 최적임을 확신하십시오.

u=>d=>g=h=>h>u?1+g(h-u+d):1

예를 들어 변수에 대입하고 f=like를 호출하십시오 f(climb)(fall)(height). InternalError: too much recursion등반이 불가능하면 던집니다 .


자바 스크립트 (ES6), 38 바이트

f=(h,u,d=0)=>h>u?u>0?1+f(h-u,u-d):+f:1

일 수를 반환하거나 NaN전혀 반환 하지 않는 재귀 함수입니다 .

테스트 사례


2
달팽이가 너무 많은 재귀 를하면 등반이 불가능합니다. :)
Tushar

1
카레 구문이 반대 인 27일까요? d=>u=>g=h=>h>u?1+g(h-u+d):1
Arnauld

@Arnauld 감사합니다, 그것은 놀랍게도 잘 작동합니다 ...
ETHproductions

나는 바이트 카운트를 혼동하고 있습니다. 하나는 함수에 할당 된 변수가 포함되어 있습니까?
표시 이름

최상위 버전의 @Orangesandlemons, g=이 변수는 재귀 호출에 필요한 중간 함수를 저장하기 때문에 중간에 있습니다. 더 긴 대답은에서 재귀 호출을 수행 f하여 바이트 수에 이름이 포함되도록 요구합니다.
musicman523

10

엑셀, 51 46 바이트

@ Scarabee 덕분에 -1 바이트 .

INT (x) = FLOOR (x, 1)이므로 -4

=IF(B1<A1,IF(C1<B1,-INT((B1-A1)/(B1-C1)-1)),1)

셀 A1, B1 및 C1에서 각각 입력합니다. FALSE유효하지 않은 시나리오를 반환 합니다.


ceiling(x)는 항상와 같으 -floor(-x)므로로 대체 CEILING((A1-B1)/(B1-C1)+1,1)하여 1 바이트를 절약 할 수 있다고 생각합니다 -FLOOR((B1-A1)/(B1-C1)+1,1).
Scarabee

7

C (gcc), 39 43 44 46 47 58 60 바이트

32 비트 GCC 및 모든 최적화에서만 해제되었습니다.

f(a,b,c){a=a>b?b>c?1+f(a-b+c,b,c):0:1;}

솔루션이 불가능하면 0을 리턴하십시오. 원래 재귀 솔루션의 수정 된 버전.

@Jonah J 솔루션 및 @CarlosAlejo C # 솔루션에서 영감을 얻었습니다.

나중에 그레이 스 네일 답변을 마친 후 확장 버전을 업데이트하겠습니다.


좋은 것! 분석 (비 압축) 솔루션을 포함시킬 수 있습니까?
koita_pisw_sou

1
@koita_pisw_sou 물론입니다.
Keyu Gan

전혀 "반환"하지 않습니다. 함수가 반환되면 값이 증발하는 로컬 매개 변수를 할당합니다. 달팽이가 영원한 림보에 갇혀 있습니다.
코디 그레이

@CodyGray GCC에서는 안정적이지만 정의되지 않은 동작을 사용합니다. 나중에 링크를 보여줄 수 있습니다.
Keyu Gan


7

자바 (OpenJDK 8) , 35 바이트

(a,b,c)->b<a?c<b?(a+~c)/(b-c)+1:0:1

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

수학이 이깁니다!

크레딧


1
시간이 지났지 만 a-c-1a+~c.
Kevin Cruijssen

1
감사합니다 @KevinCruijssen 그것은 오래되었지만 골프는 언제 어디서나 골프입니다 :-)
Olivier Grégoire

내 생각과 일치 해. 몇 가지 경우에, 나는 첫 번째 답변 중 일부를 보았을 때 원래 바이트를 절반으로 줄였습니다. ;)
Kevin Cruijssen

5

파이썬 2 , 37 바이트

f=lambda x,y,z:x-y<1or 1+f(x-y+z,y,z)

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

마지막으로 내 표준 계산보다 내 재귀 버전을 얻었습니다 (호출하기 전에 카운트를 추가하는 대신 카운트를 함수에 전달했습니다).

파이썬 2 , 4346 바이트

#43 bytes
lambda x,y,z:y/x>0 or[1-(x-y)/(z-y),0][z/y]
#46 bytes
lambda x,y,z:y/x and 1or[1-(x-y)/(z-y),0][z/y]

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

"__> 0"에 대해 "__ and 1"을 교환하여 3 바이트를 면도했습니다.

부울 속임수를 사용하여 기본적으로 다음을 실행합니다.

if floor(y/x) > 0:
    return True # == 1
elif floor(z/y) == 1:
    return 0
elif floor(z/y) == 0:
    return 1-floor((x-y)/(z-y))
    # Python 2 implicitly treats integer division as floor division
    # equivalent: 1 + math.ceil((y-x)/(z-y))
    # because: -floor(-x) == ceil(x)

2
f=코드 앞에 배치해야하고 (첫 번째 솔루션) 바이트 수는 재귀 적이므로 익명으로 남겨 둘 수 없으므로 37이됩니다. f=람다가 회개하지 않을 때만 람다에 대해 떨어질 수 있습니다.
Mr. Xcoder

주목하고 해결했다. 알려 줘서 고마워.
Coty Johnathan Saxman

4

R, 43 바이트

다른 답변에서 차용 :

g=function(a,b,c)`if`(b<a,1+g(a-b+c,b,c),1)

해결책이 없으면 오류가 발생합니다.


좋은 대답입니다. PPCG에 오신 것을 환영합니다!
musicman523

3

J, 25 바이트

먼저 "양의 정수 결과 이외의 다른 것"이 "없음"이라고 가정하기 때문에 치트 인 좋은 해결책입니다.

>.>:%/2-/\

설명

  • 2-/\3 개의 항목 입력에서 길이가 2 인 창을 사용하여 각 항목 사이에 빼기 부호를 입력 30 3 2합니다.27 1
  • %/ 목록의 각 요소 사이에 나누기 기호를 넣으십시오.이 경우 목록에는 두 개의 항목 만 있으므로 "27을 1로 나누기"를 의미합니다.
  • >: 1 씩 증가
  • >. 천장을 다

공식 솔루션

음수와 무한대를 0으로 변환하는 공식 솔루션은 다음과 같습니다.이 부분은 만족스럽게 간결한 솔루션을 찾을 수 없었습니다.

0:`[@.(>&0*<&_)>.>:%/2-/\

TIO


If the snail cannot climb out of the well, you may return 0, return a falsy value, or throw an exception.테스트 사례를 작성하기 None위해 답이 없다는 것을 간단히 선택했습니다 . 설명과 온라인으로 연결하기 링크를 추가 하시겠습니까?
musicman523

@ musicman523 고정 및 완료.
요나



2

Mathematica, 47 40 39 바이트

If[#==#2,1,⌈(#-#3)/(#2-#3)⌉~Max~0]&

@KeyuGan에서 -7 바이트


당신은 입력 다룰 필요 69, 3, 8하고 지금까지 내가 생각하는 3 바이트로 계산됩니다.
Keyu Gan

모든 고정! 지금 사용해보십시오
J42161217

당신은 진술 Max을 대체 하는 데 사용할 수 있습니다 If. If[#<=#2,1,Max[⌈(#-#3)/(#2-#3)⌉,0]]&
Keyu Gan

2

루비 , 49 47 바이트

->h,a,b{h-a<1?1:(1.0*(h-a)/[a-b,0].max+1).ceil}

달팽이가 올라가지 않으면 예외가 발생합니다.

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


1
@Jonah는 그것을 고쳤다
Alex

proc 뒤에 추론은 무엇입니까? h-a<1?1:(1.0*(h-a)/[a-b,0].max+1).ceil테스트 사례를 통과하고 9 바이트를 저장합니다.
Galen

2

배치, 66 바이트

@set/an=%4+1,a=%1-%2+%3
@if %1 gtr %2 %0 %a% %2 %3 %n%
@echo %n%

두 번째 마지막 테스트 사례는 아무 것도 인쇄하지 않았으며 마지막 테스트 사례는 실제로 충돌했습니다 CMD.EXE...


2

05AB1E , 19 바이트

0[¼²+D¹<›i¾q}³-D1‹#

설명:

0                   Initialise stack with 0
 [                  while(true)
  ¼                   increment the counter variable
   ²+                 add the second input to the top of the stack
     D¹<›i            if it is greater than or equal to the first input
          ¾             push the counter variable
           q            terminate the program
             }        end if
              ³-      subtract the third input from the top of the stack
                D     duplicate top of stack
                 1‹   if it is less than 1
                   #  break the loop

유효하지 않은 값의 경우 1보다 작은 값을 리턴 할 수 있습니다. 그러나 05AB1E에서는 1 만 진실이므로 유효하지 않은 값의 출력이 허위이어야한다는 요구 사항을 충족합니다.

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


2

PHP, 60 바이트

[,$h,$v,$d]=$argv;echo$h>$v?$v>$d?ceil(($h-$d)/($v-$d)):N:1;

에 인쇄 N합니다 None. 로 실행하십시오 -r.




2

하스켈 , 30 29 바이트

(b!c)a=1+sum[(b!c)$a+c-b|a>b]

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

기존 Haskell 답변보다 짧습니다. 아마도 다른 사람이 나를 이길 수 있습니다.

재귀적인 접근 방식을 사용하여 문제를 해결합니다. 각 재귀는 본질적으로 달팽이의 움직임의 날입니다. 끝까지 남은 거리가 여전히 필요한 거리보다 작 으면 재귀를 종료합니다.


접두사 표기법으로 1 바이트를 저장하십시오 (b#c)a=1+sum[(b#c)$a+c-b|a>b].
Laikoni

@Laikoni 그것을 할 수 있다는 것을 몰랐습니다. 팁 고마워.
밀 마법사

b!c목록 이해에 괄호를 놓을 수 있습니다 .
Zgarb

2

QBIC , 31 23 바이트

요구 사항이 변경되었음을 알았습니다. 이 버전은 달팽이가 우물 꼭대기에 도달하는지 확인하지 않습니다.

≈:-:>0|q=q+1┘a=a-b+:]?q

솔루션이 있는지 확인하는 원래 버전에 대한 아래 설명은이 코드의 모든 관련 부분에도 적용됩니다.


원본, 31 바이트 답변 :

~:>:|≈:-a>0|q=q+1┘c=c-a+b]?q\?0

설명

~           IF
 :          cmd line arg 'a'  (the increment of our snail)
  >         is greater than
   :        cmd line arg 'b'  (the decrement, or daily drop)
    |       THEN
≈           WHILE
 :          cmd line arg 'c'  (the height of the well)
  -a        minus the increment (we count down the hieght-to-go)
    >0|     is greater than 0 (ie while we haven't reached the top yet)
q=q+1       Add a day to q (day counter, starts at 1)
┘           (syntactic linebreak)
c=c-a+b     Do the raise-and-drop on the height-to-go
]           WEND
?q          PRINT q (the number of days)
\?0         ELSE (incrementer <= decrementer) print 0 (no solution)

온라인으로 사용해보십시오! (실제로 그렇지는 않습니다 : 이것은 repl.it에서 실행되는 QBasic 코드로 QBIC을 변환 한 것입니다 (약간 부족한) QBasic 환경)


2

Excel VBA, 47 바이트

개체 출력에서 ​​VBE 즉시 창 까지의 범위 [A1:C1]에서 입력을받는 익명 VBE 즉시 창 기능ActiveSheet

이 Excel 공식 기반 솔루션은 주로 내가 얻을 수있는 순수한 VBA 솔루션보다 작습니다.

?[If(B1>C1,-Int((B1-A1)/(B1-C1)-1),Int(A1=B1))]

1

Haskell, 47 55 바이트 (튜플이 필요한 경우 48)

f d c s|d<=c=1|c<s= -1|d>c||c<s=1+(f(d-c+s)c s)

튜플 변형

f(d,c,s)|d<=c=1|c<s= -1|d>c||c<s=1+(f(d-c+s)c s)

설명

f d c s       function that does all the heavy lifting =)
              d - depth
              c - climb per day
              s - slide per night

 |d<=c=1             recursion terminator. 1 day of climbing 
 |c<s= -1            possibility check. top can't be reached
 |otherwise=1+(f(d-c+s)c s)  1 day plus the rest of the distance

1
1. 당신은 대체 할 수있는 d>c||c<s단지로 0<1이미 암시 적 설명에서와 같이 있기 때문에, otherwise단지 동의어입니다 True. 2. 튜플 버전의 재귀 호출은 여전히 ​​카레입니다. 3. 2 바이트를 더 절약 하는 (d#c)s대신 함수를 정의 할 수 있습니다 f d c s.
Laikoni

1
c<=s대신에 필요 합니다 c<s.
Laikoni

1
OP에서 허용하는 0대신 순서를 바꾸고 사용 -1하면 38 바이트가 생성됩니다. 온라인으로 사용해보십시오!
Laikoni

1
바이트를 저장하기 위해 접두사 식별자를 사용할 수 있습니까?
musicman523

모르겠습니다. 편집 된 anser가 @Laikoni의 답변이기 때문에 편집 된 anser를 게시해야하는지
Sergii Martynenko Jr




1

Python v2 및 v3, 44 바이트

f=lambda x,y,z:1+f(x-(y-z),y,z)if x>y else 1

^ 없음의 경우 무한 재귀 (오류).


람다를 사용할 수 있습니다. 또한 이것은 내 (Java) 답변과 비슷해 보이므로 수식 개선을 제안 할 수 (x-z-1)//(y-z)+1있습니다. 나는 파이썬을 많이하지 않기 때문에 틀릴 수도있다.
Olivier Grégoire

당신은 제거 할 수 f=정수 나누기가 하나이고, 바이트 수에서 IFS와 elses의 주위에 약간의 공백을 제거하고, 파이썬 2로 전환/
musicman523

@ musicman523 감사합니다. 나는 당신의 모든 조언을 받아 들였습니다.
veganaiZe

1
"깨끗한"(무한한 재귀가없는) 코드에는 다른 입력 (예 : 4, 3, 8)과 함께 사용할 때 많은 문제가 있음을 깨달았습니다. @ musicman523 나는 당신이 말하는 "증거"를보기 시작했다고 생각합니다.
veganaiZe

1

HP-15C 프로그래밍 가능 계산기, 26 바이트

프로그램을 실행하기 전에 세 개의 숫자가 순서대로 스택에로드됩니다. 낙하 높이는 음수로 입력됩니다. 달팽이가 우물 밖으로 나올 수 없으면 결과는 음수 또는 오류 # 0 (제로 나누기 오류)입니다.

16 진수로 된 연산 코드 :

C5 C1 B4 C5 FB 74 1A C4 FA B4 C5 FD C1 C1 A3 70 C6 F0 B4 FA EB F1 FA B2 0A F1

지시 의미 :

x↔y 
ENTER
g R⬆
x↔y 
− 
g TEST x≤0 
GTO A
R⬇
+ 
g R⬆
x↔y 
÷ 
ENTER
ENTER
f FRAC
TEST x≠0 
EEX 
0 
g R⬆
+ 
g INT 
1 
+ 
g RTN 
f LBL A
1

이 HP-15C 시뮬레이터로 프로그램을 시험해 볼 수 있습니다 .


대단해! PPCG에 오신 것을 환영합니다 :)
musicman523


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