하스켈 재귀함수에 대하여
글쓴이: jenkince / 작성시간: 월, 2012/03/26 - 3:34오후
재귀함수를 공부중인데 잘 모르는 부분이 있어서 질문드립니다...
m ≤ n 을 만족하는 두 정수가 있을 때 m 과 n 사이의 정수들의 합을 구하라는 식인데요..
#include
main() {
int m = 2;
int n = 10;
printf("result is %d\n", sum(m, n));
}
------------------------------------
이 밑에 하스켈 용어로 재귀함수를 구현해야하는데
int sum(int m, int n) {
int k, ret;
if(m <= n)
여기 뒷 부분을 어떻게 짜야할지 모르겠습니다..
머리속으로는 두 정수를 비교하고 조건식을 만족하면
출력해야한다고는 알겠는데 그걸 식으로 표현을 못하겠네요..
C로 표현하면
int sum(int m, int n) {
int k = 0;
for ( ; m <= n; m++) k = k + m;
return k;
}
아마도 이러지 않을까 싶은데.. 도와주십쇼...
Forums:
요즘은 학교에서 하스켈을 배우나요?
하스켈을 배우는가보네요 . 어느학교인가요..?
mySum:: Integer -> Integer -> Integer
mySum a b = if (a == b) then a
else mySum a a + mySum (a + 1) b
ruby로 한 번..
Life rushes on, we are distracted
ㅠㅠ
클래스는 아직 공부하지 않았어요 ㅠ 클래스를 쓰지않고
아래 쪽을 재귀함수로 고쳐서 풀라고 하는데 헤깔리네여 ㅠ
얼랭으로
얼랭으로 한번
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
c언어라면 #include
c언어라면
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
이렇게하면 쪼금 더 빠를것 같습니다.
언제나 시작
guard 절 활용
아래와 같이 guard절을 쓰는 방법도 있습니다.
등차수열의 합 공식 이용
등차수열의 합 공식을 사용하면 될 것 같습니다. (m+n)*(n-m-1)/2로 하시면 될 것 같습니다.
댓글 달기