Computer Science/Algorithm
[Algorithm/C] BOJ.1193 분수찾기
재오니소스
2017. 11. 21. 16:51
접근방법
1. 지그재그로 군수열을 만든다. 즉 {1/1, 1/2 2/1, 3/1 2/2 1/3}
2. 짝수번째와 홀수번째의 분모와 분자가 바뀌기 때문에 짝수번째 집단과 홀수번째 집단으로 나눈다.
#include <stdio.h>
int main(int argc, char *argv[]){
int input;
int i;
int sum=0;
scanf("%d",&input);
for(i=1; ;i++){
sum += 1*i;
if(input <= sum)
{
if(i%2 == 0)
{
printf("%d/%d",i-(sum-input),1+sum-input); break;
}
else if(i&2 != 0)
{
printf("%d/%d",1+sum-input,i-(sum-input)); break;
}
}
}
return 0;
}
문제, 사진출처 - https://www.acmicpc.net/problem/1193