입력 코드
#include <stdio.h>
main() {
int X;
scanf("%d", &X);
int i, temp, count;
if (X == 1) {
printf("1/1\n");
}
else {
count = 1;
temp = X;
int numerator, denominator;
while (temp > count) {
temp -= count;
count++;
}
if (count % 2 == 0) {
denominator = count;
numerator = 1;
for (i = 1; i < temp; i++) {
denominator--;
numerator++;
}
}
else {
denominator = 1;
numerator = count;
for (i = 1; i < temp; i++) {
denominator++;
numerator--;
}
}
printf("%d/%d\n", numerator, denominator);
}
}
코드 설명
#반복문 #수열 #규칙성 #수학
#include <stdio.h>
main() {
int X;
scanf("%d", &X);
int i,j,a,b;
for (i = 0; i < 10000; i++) {
for (j = 0; j < i; j++) {
a = j;
b = i - j;
}
}
printf("%d", a / b);
}
처음에는 분자, 분모 따로 생각해서 반복문으로 해결하려고 했지만 어차피 저건 X번째 분수를 구할 수 있는 코드가 아니었다.
#include <stdio.h>
main() {
int X;
scanf("%d", &X);
int i, temp, count;
if (X == 1) {
printf("1/1\n");
}
else {
count = 1;
temp = X;
int numerator, denominator;
while (temp > count) {
temp -= count;
count++;
}
if (count % 2 == 0) {
denominator = count;
numerator = 1;
for (i = 1; i < temp; i++) {
denominator--;
numerator++;
}
}
else {
denominator = 1;
numerator = count;
for (i = 1; i < temp; i++) {
denominator++;
numerator--;
}
}
printf("%d/%d\n", numerator, denominator);
}
}
홀수번째 대각선에서는 분자 감소, 분모 증가
짝수번째 대각선에서는 분자 증가, 분모 감소
↓↓↓ 참고한 사이트
문제 출처
'C' 카테고리의 다른 글
#38. [백준_C언어] 2775 : 부녀회장이 될테야 (0) | 2021.01.19 |
---|---|
#37. [백준_C언어] 2869 : 달팽이는 올라가고 싶다 (0) | 2021.01.19 |
#35. [백준_C언어] 2292 : 벌집 (0) | 2021.01.18 |
#34. [백준_C언어] 1712 : 손익분기점 (0) | 2021.01.16 |
#33. [백준_C언어] 5622 : 다이얼 (0) | 2021.01.16 |