728x90
표를
1/1
1/2 2/1
3/1 2/2 1/3
1/4 2/3 3/2 4/1
▪▪▪
로 생각했을 때
1) 주석 없는 VERSION
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
int main() {
int x;
cin >> x;
int top = 0;
int bottom = 0;
int cnt = 1;
while (cnt<x) {
x = x - cnt;
cnt++;
if (x < cnt) break;
}
if (cnt % 2 == 0) {
for (int i = cnt;i > 0;i--) {
top++;
bottom = i;
x--;
if (x == 0) {
break;
}
}
}
else {
for (int i = cnt;i > 0;i--) {
bottom++;
top = i;
x--;
if (x == 0) {
break;
}
}
}
cout << top << "/" << bottom;
}
2) 주석 있는 VERSION
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
int main() {
int x;
cin >> x; // 입력 받을 변수
int top = 0; // 분자
int bottom = 0; // 분모
int cnt = 1; // 몇 번째 줄인지
//입력 받은 변수가 몇 번째 줄에 있는지 검사
while (cnt<x) {
x = x - cnt;
cnt++;
if (x < cnt) break;
}
// 짝수인 경우 분자는 1씩 증가
// 분모는 cnt부터 1씩 감소
if (cnt % 2 == 0) {
for (int i = cnt;i > 0;i--) {
top++;
bottom = i;
x--;
if (x == 0) {
break;
}
}
}
// 홀수인 경우 분자는 cnt부터 1씩 감소
// 분모는 1씩 증가
else {
for (int i = cnt;i > 0;i--) {
bottom++;
top = i;
x--;
if (x == 0) {
break;
}
}
}
cout << top << "/" << bottom;
}
'BEAKJOON' 카테고리의 다른 글
백준(10250번 ACM 호텔)풀이 C++ (0) | 2021.01.12 |
---|---|
백준(2869번 달팽이는 올라가고 싶다)풀이 C++ (0) | 2021.01.12 |
백준(2292번 벌집)풀이 C++ (0) | 2021.01.12 |
백준(1712번 손익분기점)풀이 C++ (0) | 2021.01.10 |
백준(1316번 그룹 단어 체커)풀이 C++ (0) | 2021.01.10 |