[Bronze IV] 단순한 문제 (Small) - 25494
성능 요약
메모리: 1116 KB, 시간: 88 ms
분류
수학, 브루트포스 알고리즘, 사칙연산
제출 일자
2024년 11월 8일 11:44:24
문제 설명
세 양의 정수 $a$, $b$, $c$가 주어질 때, 다음 조건을 만족하는 정수 쌍 $(x, y, z)$의 개수를 구하시오.
- $1 \le x \le a$
- $1 \le y \le b$
- $1 \le z \le c$
- $(x\,\bmod\,y) = (y\,\bmod\,z) = (z\,\bmod\,x)$
$(A\,\bmod\,B)$는 $A$를 $B$로 나눈 나머지를 의미한다.
입력
첫째 줄에 테스트 케이스의 수 $T$가 주어진다. $(1 \le T \le 100)$
다음 $T$개의 각 줄에는 세 정수 $a$, $b$, $c$가 공백으로 구분되어 주어진다. $(1 \le a, b, c \le 60)$
출력
한 줄에 하나씩 정답을 출력한다.
💡 해결 방법
💻 코드
#include<stdio.h>
void ans(int a, int b, int c)
{
int count = 0; for(int i1 = 1; i1 <= a; i1++)
{
for(int i2 = 1; i2 <= b; i2++)
{
for(int i3 = 1; i3 <= c; i3++)
{
if(i1 % i2 == i2 % i3 && i2 % i3 == i3 % i1)
{
count++;
}
}
}
}
printf("%d", count);
}
int main(int argc, char *argv[])
{
int t = 0; scanf("%d", &t);
for(int i = 0; i < t; i++)
{
int a, b, c= 0; scanf("%d %d %d", &a, &b, &c);
ans(a, b, c);
if(i < t-1) printf("\n");
}
return 0;
}