※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 33171번 문제인 いずれか片方 (Either, but Not Both)이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/33171
\(N\) 이하의 양의 정수 중 \(A\)와 \(B\) 두 수 모두로 나누어떨어지지는 않지만 어떤 하나의 수로는 나누어떨어지는 수의 개수를 구하는 문제이다.
주어지는 \(N\)의 범위가 충분히 작으므로, \(N\) 이하의 모든 정수 각각을 \(A\)와 \(B\)로 직접 나누어보는 것으로 문제를 충분히 해결할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N, A, B, ans;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> A >> B;
for (int i = 1; i <= N; i++) {
int cnt = 0;
if (i % A) cnt++;
if (i % B) cnt++;
if (cnt == 1) ans++;
}
cout << ans;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 3870 // C++] Find the Multiples (0) | 2025.02.05 |
---|---|
[BOJ 33172 // C++] 周期文字列 (Cycle String) (0) | 2025.02.04 |
[BOJ 33170 // C++] ブラックジャック (Blackjack) (0) | 2025.01.24 |
[BOJ 33169 // C++] 所持金 (Money On Me) (0) | 2025.01.23 |
[BOJ 33168 // C++] 三角足し算 (Triangle Addition) (0) | 2025.01.22 |