carry를 사용하여 재귀 적으로 2 개의 정수 더하기

제이슨

2 int를 추가하고 재귀를 요구하는 할당을하고 있습니다. 아래는 내 코드이지만 내 출력은 항상 답보다 10 이상입니다. 왜? 내 초기 캐리는 0입니다.

int add(int n1,int n2,int carry){

    if(n1>0){

        if(carry == 1)
            n1= n1+1;

        if((n1%10+n2%10)>9)
            return n1%10 + n2%10 + 10*add(n1/10,n2/10,1);
        else    
            return n1%10 + n2%10 + 10*add(n1/10,n2/10,0);

    }

    else{
        return 0;
    }
}
Serge Ballesta

프로그램 을 직접 따라 가면 분명합니다 . add (8, 7, 0)를 따르십시오.

  • 캐리는 0 : 할 일 없음
  • n1 % 10 + n2 % 10 = 15> 9 : 좋아요, 캐리 리턴 8 + 7 + 10 * add (0, 0, 1)!

오류는 여기에 있습니다. 캐리를 올바르게 추가했지만 합계의 mod 만 사용하지 않았기 때문에 15 대신 25를 얻습니다. ((8 + 7) % 10) + 10 * add (0, 0, 1 )

따라서 코드는 다음과 같아야합니다.

...
if((n1%10+n2%10)>9) {
    return ((n1%10 + n2%10) % 10) + 10*add(n1/10,n2/10,1);
}
else {   
    ...

그러나이 코드는 학문적 목적으로 만 의미가 있습니다. 32 비트 (또는 그 이상) 프로세서에서 10 기반 작업을 시뮬레이션하기 때문에 실제 코드에서는 끔찍할 것입니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

c ++ 더하기를 사용하여 2 개의 정수를 재귀 적으로 곱합니다.

분류에서Dev

찾기를 사용하여 재귀 적으로 폴더 이동

분류에서Dev

TypeTag를 사용하여 재귀 적으로 함수 호출

분류에서Dev

lodash를 사용하여 재귀 적으로 속성 값 수집

분류에서Dev

재귀를 사용하여 정수 배열의 평균 찾기

분류에서Dev

다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

분류에서Dev

다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

분류에서Dev

자바 : 재귀 호출에서 원래 매개 변수를 사용하여 내 메서드를 재귀 적으로 호출하는 방법

분류에서Dev

재귀를 사용하여 정수를 이진수로 변환

분류에서Dev

단순히 확장 된 변수에서 이름이 계산되는 변수를 사용하여 재귀 적으로 확장 된 변수를 정의합니다.

분류에서Dev

.equals를 재정 의하여 Java의 2 개 속성을 기반으로 사용자 지정 개체의 2 개 배열 목록을 비교하는 방법

분류에서Dev

.equals를 재정 의하여 Java의 2 개 속성을 기반으로 사용자 지정 개체의 2 개 배열 목록을 비교하는 방법

분류에서Dev

CSS를 사용하여 동적 크기의 개체를 수직으로 정렬

분류에서Dev

정수의 2 차원 배열을 감안할 때, 재귀 적으로 주어진 수를 요약하는 경로를 찾을 수

분류에서Dev

재귀를 사용하여 숫자의 자릿수 곱하기

분류에서Dev

동적 키를 사용하여 재귀 적으로 중첩 된 개체 만들기

분류에서Dev

재귀를 사용하여 무작위 목록을 볼 때 짝수 정수의 양을 추적하는 방법

분류에서Dev

2 개의 인수를 사용하는 반복에 대한 재귀 공식

분류에서Dev

재귀를 사용하여 10 진수에서 2 진수로 변환

분류에서Dev

n 개의 정규식 중 m 개를 포함하는 파일을 재귀 적으로 나열

분류에서Dev

nm를 사용하여 특정 기호를 재귀 적으로 검색하는 방법은 무엇입니까?

분류에서Dev

이 함수를 재귀 적으로 적용하는 방법

분류에서Dev

재귀 함수를 사용하여 파이썬으로 합산

분류에서Dev

ggplot2를 사용하여 4 개의 변수를 기반으로 한 누적 막대 그림

분류에서Dev

재귀 함수를 사용하여 자본의 모음으로 시작하는 단어의 수를 계산

분류에서Dev

setTimeout을 사용하여 재귀 적으로 함수 호출

분류에서Dev

R의 함수에 매개 변수를 재귀 적으로 전달 하시겠습니까?

분류에서Dev

Haskell에서 매개 변수를 기반으로 튜플 목록을 재귀 적으로 삭제하는 방법

분류에서Dev

기본값을 사용하여 상호 재귀 적으로 정의 된 typeclass 메서드

Related 관련 기사

  1. 1

    c ++ 더하기를 사용하여 2 개의 정수를 재귀 적으로 곱합니다.

  2. 2

    찾기를 사용하여 재귀 적으로 폴더 이동

  3. 3

    TypeTag를 사용하여 재귀 적으로 함수 호출

  4. 4

    lodash를 사용하여 재귀 적으로 속성 값 수집

  5. 5

    재귀를 사용하여 정수 배열의 평균 찾기

  6. 6

    다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

  7. 7

    다른 매개 변수를 사용하여 bash 스크립트를 재귀 적으로 호출

  8. 8

    자바 : 재귀 호출에서 원래 매개 변수를 사용하여 내 메서드를 재귀 적으로 호출하는 방법

  9. 9

    재귀를 사용하여 정수를 이진수로 변환

  10. 10

    단순히 확장 된 변수에서 이름이 계산되는 변수를 사용하여 재귀 적으로 확장 된 변수를 정의합니다.

  11. 11

    .equals를 재정 의하여 Java의 2 개 속성을 기반으로 사용자 지정 개체의 2 개 배열 목록을 비교하는 방법

  12. 12

    .equals를 재정 의하여 Java의 2 개 속성을 기반으로 사용자 지정 개체의 2 개 배열 목록을 비교하는 방법

  13. 13

    CSS를 사용하여 동적 크기의 개체를 수직으로 정렬

  14. 14

    정수의 2 차원 배열을 감안할 때, 재귀 적으로 주어진 수를 요약하는 경로를 찾을 수

  15. 15

    재귀를 사용하여 숫자의 자릿수 곱하기

  16. 16

    동적 키를 사용하여 재귀 적으로 중첩 된 개체 만들기

  17. 17

    재귀를 사용하여 무작위 목록을 볼 때 짝수 정수의 양을 추적하는 방법

  18. 18

    2 개의 인수를 사용하는 반복에 대한 재귀 공식

  19. 19

    재귀를 사용하여 10 진수에서 2 진수로 변환

  20. 20

    n 개의 정규식 중 m 개를 포함하는 파일을 재귀 적으로 나열

  21. 21

    nm를 사용하여 특정 기호를 재귀 적으로 검색하는 방법은 무엇입니까?

  22. 22

    이 함수를 재귀 적으로 적용하는 방법

  23. 23

    재귀 함수를 사용하여 파이썬으로 합산

  24. 24

    ggplot2를 사용하여 4 개의 변수를 기반으로 한 누적 막대 그림

  25. 25

    재귀 함수를 사용하여 자본의 모음으로 시작하는 단어의 수를 계산

  26. 26

    setTimeout을 사용하여 재귀 적으로 함수 호출

  27. 27

    R의 함수에 매개 변수를 재귀 적으로 전달 하시겠습니까?

  28. 28

    Haskell에서 매개 변수를 기반으로 튜플 목록을 재귀 적으로 삭제하는 방법

  29. 29

    기본값을 사용하여 상호 재귀 적으로 정의 된 typeclass 메서드

뜨겁다태그

보관