728x90
● [문제번호 10872] 팩토리얼
#include <stdio.h>
int factorial(int N)
{
if(N == 1 || N == 0)
return 1;
return N * factorial(N - 1);
}
int main()
{
int N;
scanf("%d", &N);
printf("%d", factorial(N));
return 0;
}
● [문제번호 10870] 피보나치 수5
#include <stdio.h>
int fibonacci(int n)
{
if(n == 0)
return 0;
else if(n == 1)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main()
{
int n;
scanf("%d", &n);
printf("%d", fibonacci(n));
return 0;
}
● [문제번호 10872] 별 찍기 - 10
#include <stdio.h>
#define size 6561
char mat[size][size];
void initStar(int N)
{
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
mat[i][j] = '*';
}
void star(int N, int temp)
{
if(N == temp)
return;
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(temp <= i % (temp * 3) && i % (temp * 3) < 2 * temp)
if(temp <= j % (temp * 3) && j % (temp * 3) < 2 * temp)
mat[i][j] = ' ';
star(N, temp * 3);
}
void printStar(int N)
{
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
printf("%c", mat[i][j]);
printf("\n");
}
}
int main()
{
int N;
scanf("%d", &N);
initStar(N);
star(N, 1);
printStar(N);
return 0;
}
● [문제번호 10872] 하노이 탑 이동순서
#include <stdio.h>
#include <math.h>
void hanoi(int N, int from, int by, int to)
{
if(N == 1)
{
printf("%d %d\n", from, to);
return;
}
hanoi(N - 1, from, to, by);
printf("%d %d\n", from, to);
hanoi(N - 1, by, from, to);
}
int main()
{
int N;
scanf("%d", &N);
// 횟수는 구글링으로 알아냄
printf("%.0lf\n", pow(2, N) - 1);
hanoi(N, 1, 2, 3);
return 0;
}
728x90
'Baekjoon > 단계별로 풀어보기' 카테고리의 다른 글
[단계 13] 백트래킹 (8문제) (0) | 2021.01.22 |
---|---|
[단계12] 정렬 (9문제) (0) | 2021.01.14 |
[단계11] 부르트 포스 (5문제) (0) | 2021.01.13 |
[단계09] 기본 수학2 (11문제) (0) | 2021.01.09 |
[단계08] 기본 수학1 (9문제) (0) | 2020.12.20 |
[단계07] 문자열 (10문제) (0) | 2020.12.20 |
[단계06] 함수 (3문제) (0) | 2020.12.18 |
댓글