두근두근 자료구조 순환

이충희·2021년 5월 31일
0

자료구조

목록 보기
4/4

4. 1부터 n까지의 숫자를 전부 합하여 반환하는 순환적인 함수를 작성하라.

#include<stdio.h>
int SUM=0;
int sum(int n){
	int i;
	for(i=1;i<=n;i++)
		SUM += i;
	printf("1부터 n까지의 합 : %d",SUM);
}
int main(){
	sum(10);
}

5. 다음 함수를 sum(5)로 호출하였을 때, 화면에 출력되는 내용과 함수의 반환값을 구하여라.

#include<stdio.h>
int sum(int n){
	printf("%d\n",n);
	if(n<1)
		return 0;
	else
		return (n+sum(n-1));
}
int main(){
	sum(5);
}

6. 다음 함수에서 asterisk(5)와 같이 호출할 때 출력되는 *의 갯수는?

#include<stdio.h>
void asterisk(int i){
	if(i>1){
		asterisk(i/2);
		asterisk(i/2);
	}
	printf("*");
}
int main(){
	asterisk(5);
}

7. 순환을 사용하여 1부터 10까지를 화면에 출력하는 프로그램을 작성해보자.

#include<stdio.h>
int onetoten(int n){
	int i;
	for(i=1;i<=n;i++)
		printf("%d ",i);
}
int main(){
	onetoten(10);
}

10. 이항계수를 계산하는 순환함수를 작성하라. 이항계수는 다음과 같이 순환적으로 정의된다. 반복함수로도 구현해보라.

#include<stdio.h>
int binomial(int n,int k){//순환함수로 구현한 nCk
	if(k==0||k==n)
		return 1;
	else if(k>0&&n>k){
		return (binomial(n-1,k-1)+binomial(n-1,k));
	}
}
int main(){
	int sum = 0;
	sum = binomial(5,3);
	printf("%d",sum);
}
profile
응애

0개의 댓글

관련 채용 정보