※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 18265번 문제인 MooBuzz이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/18265
18265번: MooBuzz
Farmer John's cows have recently become fans of playing a simple number game called "FizzBuzz". The rules of the game are simple: standing in a circle, the cows sequentially count upward from one, each cow saying a single number when it is her turn. If a c
www.acmicpc.net
3의 배수 또는 5의 배수에는 Moo를, 그 외의 수는 해당 수를 외칠 때 N번째로 외치게 되는 수가 무엇인지를 구하는 문제이다.
어떤 수가 3의 배수 또는 5의 배수인지 아닌지의 여부는 3과 5의 최소공배수인 15를 주기로 일정한 규칙을 갖고 반복되는 점을 이용해 문제를 해결하자. 증명은 간단한 정수론이므로 생략한다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
typedef long long ll;
ll N;
ll arr[8] = { 1,2,4,7,8,11,13,14 };
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
N--;
cout << (N / 8) * 15 + arr[N % 8];
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 18260 // C++] Bessie's Snow Cow (0) | 2023.10.13 |
---|---|
[BOJ 11999 // C++] Milk Pails (Bronze) (1) | 2023.10.12 |
[BOJ 18266 // C++] Meetings (0) | 2023.10.10 |
[BOJ 18267 // C++] Milk Visits (0) | 2023.10.09 |
[BOJ 3188 // C++] nule (0) | 2023.10.08 |