https://www.acmicpc.net/problem/1193
1193번: 분수찾기
첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.
www.acmicpc.net
어차피 각 그룹 내에 있는 값의 개수(step)는 1, 2, 3, ... 순서대로 늘어난다. 그리고 각각의 그룹 내에 있는 모든 값은 분자+분모의 합이 step+1이다. 이 성질과 분자, 분모의 출력 형태를 그룹이 바뀔 때마다 바꿔쭈고, 결과를 출력하면 된다.
문제 및 입출력
코드
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int target = sc.nextInt();
int step = 1; // 그룹
boolean chk = true; // 방향
// 입력받은 변수를 최대까지 빼주기
while(target>step)
{
target -= step;
step++;
chk = !chk; // 그룹이 올라갈 때마다 방향 바꾸기
}
// 방향에 따라 분자 분모 바꿔서 출력
if(chk)
{
System.out.println((step-(target-1)) + "/" + target);
}
else
{
System.out.println(target + "/" + (step-(target-1)));
}
sc.close();
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[백준] 2869 달팽이는 올라가고 싶다 (0) | 2021.09.10 |
---|---|
[백준] 2292 벌집 (0) | 2021.09.10 |
[백준] 2839 설탕 배달 (0) | 2021.09.09 |
[백준] 2775 부녀회장이 될거야 (0) | 2021.09.08 |
[백준] 1316 그룹 단어 체커 (0) | 2021.09.08 |
댓글