프로그래밍

c언어 재귀함수

#include <stdio.h>

 

int cnt = 0;

int sum(int x,int y){

if(x<y){

if(x<=y){

cnt = cnt + 1;

return x += sum(x+1,y);

}

else return 0;

}

else if(x>y){

if(y<=x){

cnt = cnt + 1;

return y += sum(x,y+1);

}

else return 0;

}

else{

cnt++;

return x;

}

}

int main(){

int x,y,z;

printf("첫번째 수를 입력 :"); scanf("%d",&x);

printf("두번째 수를 입력 :"); scanf("%d",&y);

z = sum(x,y);

printf("%d부터%d까지의 합계는 %d입니다.\n",x,y,z);

printf("함수 sum이 불린 횟수는 %d입니다.\n",cnt);


 

return 0;

}

 

 

 

 

현재 코드는 입력받은 두 숫자중에서 작은숫자에 +1을 한 값을 리턴시킨다음 순차합을 적은 코드인데 여기서 현재 sum 함수가 10번 사용되고 있습니다.

 

그런데 하고 싶은건 작은숫자에는 +1 을 큰 숫자에는 -1 을해서 리턴 시키면 sum 함수가 6번밖에 안써질건데 이걸 어떻게 코딩해야될지 모르겠습니다...

5개의 댓글

2021.04.17

return x + sum(x+1, y-1) + y 을 하고싶은 거잖아. (단 x<y)

이에 맞는 조건을 한 번 생각해보면 좋을 것 같아.

 

x와 y의 차이가 3인 경우, 2인 경우, 1인 경우, 0인 경우를 각각 천천히 생각해보고 코딩해보면 좋을 것 같은데?

0
2021.04.17
@스비니

한번 도전해보겠습니다

0
2021.04.17

개드립엔 들여쓰기가 안되나 코드보기 엄청 불편하네

0

x + sum이랑 y + sum 리턴하면 될듯

0

그리고 if 안에 if 넣은건 빼는게 깔끔할듯

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180509 [컴퓨터] 19년도에 산 컴인데 질문좀 4 탈출하고싶다 0 2 시간 전 97
180508 [모바일] 갤럭시 내비게이션바 업데이트 7 Inquisitive 0 3 시간 전 151
180507 [모바일] 아이폰 이거 설정하는법 앎? 3 건들면6년 0 3 시간 전 92
180506 [컴퓨터] 저전력,배터리 오래가는 노트북 찾아요! 3 sgfkshj 0 10 시간 전 147
180505 [잡담] 유튜브 프리미엄 우회 질문드립니당 4 개드립눈팅4년 0 11 시간 전 256
180504 [잡담] 블랙샤크v2 pro 2023 vs 소니 mv1 추천좀 1 게임게임하자 0 11 시간 전 76
180503 [컴퓨터] 인텔 그래픽 드라이버 최신화 인식 왜이따위임? 2 넌뭔데시비냐 0 13 시간 전 131
180502 [모바일] 안드로이드 카메라 어플중에 쓸만한거 뭐있음? 1 일째다이어트하는중 0 13 시간 전 70
180501 [컴퓨터] 집에서 투 컴퓨터 사용시 키보드 마우스 세팅 6 해물잠봉 0 14 시간 전 125
180500 [잡담] 동글 사려는데 싼거사도됨? 7 제로콜라는닥터페... 0 16 시간 전 122
180499 [컴퓨터] 가난개붕이 글카샀다 11 69746974 0 16 시간 전 237
180498 [컴퓨터] 로지텍 무선마우스가 g502x 이거 많이씀?? 10 울그락푸르락 1 17 시간 전 143
180497 [컴퓨터] DDR5는 렘오버한거 차이많이남? 15 창원토박이 0 19 시간 전 241
180496 [컴퓨터] 형들 제품키만 파는것들 써도 되는거야? 4 우루루옳지 0 19 시간 전 116
180495 [잡담] 시네빔 써본 개붕이 있어? 5 따뜻한젤라또 0 19 시간 전 57
180494 [컴퓨터] 다나와에서 컴터 하나 사려고하는데 6 바나나사탕 0 20 시간 전 69
180493 [잡담] 게이밍 노트북 중고 가성비 어때보임? 6 ST11223 0 20 시간 전 179
180492 [컴퓨터] 책상 인증 5 69746974 0 21 시간 전 196
180491 [컴퓨터] 프레임 고정하는 이유가 뭔가요? 5 우루루옳지 0 22 시간 전 181
180490 [모바일] 통신사에 공유기 교체해달라하면 해주나? 5 뱅갈고양이육성중 0 23 시간 전 158