컴퓨터공학/알고리듬 풀이
*백준-일반 수학 1 1193 분수찾기*
cyphen156
2025. 2. 11. 18:16
분수식을 만드는 로직을 생각해보자 -> 기본적으로 최대 분모/분자는 N이 될 때-> N개씩 늘어난다.
예를 들어 7번째 분수는 1/4이다. 9번째 분수는 3/2이다.
--> 내가 옛날에 작성한 C코드를 확인해 보면 등차수열의 합공식을 이용하여 연산을 최적화 해놓은것을 알 수 있었다.
이 문제는 추후 다시 한번 풀어봐야 하는 문제라고 생각하여 표시해놔야겠다.
제약사항
- 0 < X <= 10,000,000,000
주의 사항
없다.
C풀이
분수찾기_1193.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int x, i; // x는 분자, i는 분모
//분모는 0이 아니니까 항상 1부터 시작한다.
// 그런데 왜 분모 / 2가 0일 때 항상 진행방향이 DOWN이냐??????
scanf("%d", &x);
for (i = 1; x > i; i++) {
x -= i;
}
if (i % 2 == 0) {
printf("%d/%d\n", x, i - x + 1);
}
else {
printf("%d/%d\n", i - x + 1, x);
}
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리 에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace
Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.
github.com