반응형
[ Contents ]
1. 문제 (링크 참조)
1016번: 제곱 ㄴㄴ 수
어떤 정수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 그 수를 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수
www.acmicpc.net
2. 문제 풀이
min과 max가 주어집니다. 두 정수 사이에서 제곱수의 배수가 아닌 수를 판별하여 개수를 구하는 문제입니다.
2022.01.16 - [Algorithm] - [Algorithm] 브루트 포스(Brute Force)는 노가다 기법?
[Algorithm] 브루트 포스(Brute Force)는 노가다 기법?
[ Contents ] 1. 브루트 포스란? Brute(짐승 같은, 난폭한) + Force(힘, 폭력)의 합성어입니다. 무식하게 푸는 기법으로, '노가다'에 가까운 접근법입니다. 모든 경우의 수를 시험해보며 문제를 해결합니
star7sss.tistory.com
어렵게 느껴지지만, 때로는 정공법이 가장 간단한 솔루션이 될 수 있습니다. 문제에서 제시한대로 따라하며 답을 찾습니다.
3. 코드
min_num, max_num = map(int, input().split())
val = [1 for i in range(max_num - min_num + 1)]
cnt=0
i=2
while i**2 <= max_num:
mul = min_num // i ** 2
while mul * (i**2) <= max_num:
if mul * (i**2) - min_num >= 0 and mul * (i ** 2) - min_num <= max_num-min_num:
val[mul * (i**2) - min_num] = 0
mul +=1
i +=1
print(sum(val))
max가 넘어갈 때까지, 제곱수를 구해서 나누어지는지 확인합니다. 만약 나누어지지 않는다면 해당 수는 제곱 ㄴㄴ수입니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 23812 골뱅이 찍기 - 돌아간 ㅍ - 파이썬(Python) (1) | 2023.02.04 |
---|---|
[구현/수학] 백준 14545 Square - 파이썬(Python) (0) | 2023.02.03 |
[구현/수학] 백준 15818 오버플로우와 모듈러 - 파이썬(Python) (0) | 2023.02.01 |
[구현/수학] 백준 4562 No Brainer - 파이썬(Python) (0) | 2023.01.31 |
[구현/수학] 백준 2712 미국 스타일 - 파이썬(Python) (0) | 2023.01.30 |
댓글