반응형
SMALL
1. 1부터 n까지의 합
#include <stdio.h>
int sum(int n) {
if (n == 0)return 0;
else return n + sum(n - 1);
}
int main() {
int n;
printf("n을 입력하시오: ");
scanf("%d", &n);
printf("합계: %d\n", sum(n));
return 0;
}
2. 팩토리얼
#include <stdio.h>
int factorial(int n) {
if (n <= 1)return 1;
else return n * factorial(n - 1);
}
int main() {
int n;
printf("n을 입력하시오: ");
scanf("%d", &n);
printf("%d! = %d \n", n, factorial(n));
return 0;
}
3. 10진수를 2진수로 출력
#include <stdio.h>
void binarySearch(int n) {
if(n>0){
binarySearch(n / 2);
printf("%d", n % 2);
}
}
int main() {
int n;
printf("n을 입력하시오: ");
scanf("%d", &n);
binarySearch(n);
return 0;
}
4. 최대공약수 구하기
#include <stdio.h>
int gcd(int x, int y) {
if (y == 0)return x;
else return gcd(y, x % y);
}
int main() {
int a, b;
printf("두 개의 정수를 입력하시오: ");
scanf("%d %d", &a, &b);
printf("최대공약수: %d\n",gcd(a, b));
return 0;
}
5. 피보나치 수열
0,1,1,2,3,5,8...
#include <stdio.h>
int fibo(int n){
if(n==0)return 0;
else if(n==1)return 1;
else return fibo(n-1) + fibo(n-2);
}
int main(){
int n;
printf("몇번째까지 구할 것인가요?: ");
scanf("%d",&n);
for(int i=0;i<n;i++){
printf("fib(%d) = %d\n",i,fibo(i));
}
return 0;
}
6. 지수값 계산(pow함수 같은 역할)
ex> pow(2,3) = 2* 2* 2 = 8
static 사용 주의!!
#include <stdio.h>
int power(int n,int count) {
static int res = 1; // 처음 한번만 초기화되야하므로 꼭 static 사용해야함!!
res *= n; count--;
if (count > 0)return power(n, count);
return res;
}
int main() {
int n, count;
printf("정수 n을 입력하시오: ");
scanf("%d", &n);
printf("곱할 횟수를 입력하시오: ");
scanf("%d", &count);
printf("답: %d\n",power(n, count));
return 0;
}
반응형
LIST
'기타 예제 모음' 카테고리의 다른 글
[python] sqrt 함수 구현 (0) | 2020.10.02 |
---|---|
[C언어] 소수 판별 예제 (0) | 2020.07.03 |
댓글