이 코드를 실행할 때 왜 inf가 인쇄됩니까?

T는
def recur(a): 
  if( (a/2)!=0): 
    return recur(a/2) * 10+a%2
  else: 
      return 1
c=recur(10)
print(c)

내가이 코드를 실행할 때 inf가 인쇄됩니다. 누구나 내 잘못 과이 코드를 설명 할 수 있습니까? (이 코드를 C에서 python으로 변환했습니다. 원본 코드는 아래와 같습니다)

#include <stdio.h>
int recur(int n)
{
    if((n/2)!=0)
     return (recur(n/2)*10+n%2);
    
    else
      return 1;
}
int main()
{ int d;
d=recur(10);
    printf("%d",d);

    return 0;
}

출력 1010

존 보데

댓글에있는 질문에 답하면 다음 1010과 같은 결과 를 얻을 수 있습니다.
recur의 실행을 추적 해 보겠습니다.

recur( 10 )
  return recur( 5 ) * 10 + 10 % 2 ---------+
    return recur( 2 ) * 10 + 5 % 2 ------+ |
      return recur( 1 ) * 10 + 2 % 2 --+ | |
        return 1                       | | |
      1 * 10 + 2 % 2 == 10 + 0 == 10 <-+ | |
    10 * 10 + 5 % 2 == 100 + 1 == 101 <--+ |
  101 * 10 + 10 % 2 == 1010 + 0 == 1010 <--+

IOW,의 결과를 계산하기 위해 , 또는 recur(10)의 결과를 계산하고 에를 곱하고 ( ) 의 결과를 더합니다 .recur(10/2)recur(5)1010 % 20

의 결과를 계산하기 위해 , 또는 recur(5)의 결과를 계산하고 여기 에를 곱하고 ( ) 의 결과를 더합니다 .recur(5/2)recur(2)105 % 21

의 결과를 계산하기 위해 , 또는 recur(2)의 결과를 계산하고 여기 에를 곱하고 ( ) 의 결과를 더합니다 .recur(2/2)recur(1)102 % 20

1/2 == 0이므로의 결과는 recur(1)입니다 1. 1 * 10 + 2 % 210,의 결과이므로 recur(2)IS 10. 10 * 10 + 5 % 2101,의 결과이므로 recur(5)IS 101. 그리고 마지막으로의 결과는 101 * 10 + 10 % 2입니다 1010. 그래서 그것은의 결과입니다 recur(10).

C에서, 분할 수율은 정수 결과 정수이므로 1/2 == 0, 5/2 == 2

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 코드를 실행할 때 왜 NullPointerException이 발생합니까?

분류에서Dev

Docker에서 "tty"를 실행할 때 왜 "tty가 아님"이 표시됩니까?

분류에서Dev

이 코드를 실행할 때 실수가 있습니다.

분류에서Dev

파이썬 코드를 컴파일 할 때 왜 AttributeError가 발생합니까?

분류에서Dev

이 코드가 왜 그렇게 느리게 실행됩니까?

분류에서Dev

unittest를 실행할 때 왜 "-m"과 "unittest"가 있습니까?

분류에서Dev

이걸 실행할 때 왜 Nan이 표시됩니까?

분류에서Dev

bash -e로 실행할 때 왜 "let"이 종료됩니까?

분류에서Dev

왜 메인 스레드가 잠자기 때문에 자바에서 다른 스레드를 실행하는 동작이 변경됩니까?

분류에서Dev

라이브로 실행할 때 왜`tail -f`가 내 syslog를 따르지 않습니까?

분류에서Dev

간단한 Docker 이미지를 실행할 때 왜 oci 런타임 오류가 발생합니까?

분류에서Dev

macOS에서이 스크립트를 실행할 때 왜“No such file or directory”오류가 발생합니까?

분류에서Dev

코드를 실행할 때 추가 입력 공간이 생깁니다.

분류에서Dev

'bower install'을 실행할 때 왜이 오류가 발생합니까?

분류에서Dev

Mongoose는 문서를 만들고 업데이트 할 때 왜 비동기 적으로 실행됩니까?

분류에서Dev

파생 테이블에서 count를 사용할 때 왜 오류 코드 1064가 발생합니까?

분류에서Dev

Swift에서이 코드를 작성할 때 왜 'Use of unresolved identifier'오류가 발생합니까?

분류에서Dev

stdlib없이 어셈블리 코드를 연결할 때 왜 좀비가 발생합니까?

분류에서Dev

왜 첫 번째 캐시 빌드는 내가`gatsby develop`을 실행할 때마다 표시됩니까?

분류에서Dev

이 Java 코드가 왜 두 개의 인수를 인쇄합니까?

분류에서Dev

Ada : 콘솔에 정수를 인쇄 할 때 왜 큰 공간이 있습니까?

분류에서Dev

git filter-branch를 실행할 때 왜 pathspec 오류가 발생합니까?

분류에서Dev

activator run cmd를 실행할 때 왜 org.scalasbt sbt가 필요합니까?

분류에서Dev

왜이 비동기 코드가 때때로 실패하고 관찰되지 않을 때만 실패합니까?

분류에서Dev

Runnable에 람다를 제공 할 때 왜 실행 메서드를 재정의 할 필요가 없습니까?

분류에서Dev

rsyslog에서 kill -HUP를 실행할 때 UDP 데이터가 손실됩니까?

분류에서Dev

이 코드를 실행할 때 LabVIEW가 응답하지 않습니다. C ++ 코드 문제 또는 LabVIEW 문제?

분류에서Dev

코드를 실행할 때마다 웹 사이트가 새로 고침됩니다.

분류에서Dev

CUDA GPU에서 Numba 코드를 실행할 때 CPU 코어 중 하나가 100 %로 유지됩니다. 이것이 성능을 제한합니까?

Related 관련 기사

  1. 1

    이 코드를 실행할 때 왜 NullPointerException이 발생합니까?

  2. 2

    Docker에서 "tty"를 실행할 때 왜 "tty가 아님"이 표시됩니까?

  3. 3

    이 코드를 실행할 때 실수가 있습니다.

  4. 4

    파이썬 코드를 컴파일 할 때 왜 AttributeError가 발생합니까?

  5. 5

    이 코드가 왜 그렇게 느리게 실행됩니까?

  6. 6

    unittest를 실행할 때 왜 "-m"과 "unittest"가 있습니까?

  7. 7

    이걸 실행할 때 왜 Nan이 표시됩니까?

  8. 8

    bash -e로 실행할 때 왜 "let"이 종료됩니까?

  9. 9

    왜 메인 스레드가 잠자기 때문에 자바에서 다른 스레드를 실행하는 동작이 변경됩니까?

  10. 10

    라이브로 실행할 때 왜`tail -f`가 내 syslog를 따르지 않습니까?

  11. 11

    간단한 Docker 이미지를 실행할 때 왜 oci 런타임 오류가 발생합니까?

  12. 12

    macOS에서이 스크립트를 실행할 때 왜“No such file or directory”오류가 발생합니까?

  13. 13

    코드를 실행할 때 추가 입력 공간이 생깁니다.

  14. 14

    'bower install'을 실행할 때 왜이 오류가 발생합니까?

  15. 15

    Mongoose는 문서를 만들고 업데이트 할 때 왜 비동기 적으로 실행됩니까?

  16. 16

    파생 테이블에서 count를 사용할 때 왜 오류 코드 1064가 발생합니까?

  17. 17

    Swift에서이 코드를 작성할 때 왜 'Use of unresolved identifier'오류가 발생합니까?

  18. 18

    stdlib없이 어셈블리 코드를 연결할 때 왜 좀비가 발생합니까?

  19. 19

    왜 첫 번째 캐시 빌드는 내가`gatsby develop`을 실행할 때마다 표시됩니까?

  20. 20

    이 Java 코드가 왜 두 개의 인수를 인쇄합니까?

  21. 21

    Ada : 콘솔에 정수를 인쇄 할 때 왜 큰 공간이 있습니까?

  22. 22

    git filter-branch를 실행할 때 왜 pathspec 오류가 발생합니까?

  23. 23

    activator run cmd를 실행할 때 왜 org.scalasbt sbt가 필요합니까?

  24. 24

    왜이 비동기 코드가 때때로 실패하고 관찰되지 않을 때만 실패합니까?

  25. 25

    Runnable에 람다를 제공 할 때 왜 실행 메서드를 재정의 할 필요가 없습니까?

  26. 26

    rsyslog에서 kill -HUP를 실행할 때 UDP 데이터가 손실됩니까?

  27. 27

    이 코드를 실행할 때 LabVIEW가 응답하지 않습니다. C ++ 코드 문제 또는 LabVIEW 문제?

  28. 28

    코드를 실행할 때마다 웹 사이트가 새로 고침됩니다.

  29. 29

    CUDA GPU에서 Numba 코드를 실행할 때 CPU 코어 중 하나가 100 %로 유지됩니다. 이것이 성능을 제한합니까?

뜨겁다태그

보관