인프런 커뮤니티 질문&답변

김철세님의 프로필 이미지
김철세

작성한 질문수

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

최적화(정수론) 질문

해결된 질문

작성

·

369

3

21분 22초에서 176에서 177까지의 수에서 2의 제곱수로 나누어지는 약수를 모두 찾아 더하는 문제인데요.

뜬금없게 느껴졌는데,

176은 16으로 나누어 떨어지고, 177은 1로 나누어 떨어지니 16+1 =17이 답이다

라고 하셨는데... 저는 이 전개가 전혀 이해가 되지 않습니다...

어떻게 16 + 1이 나오는지 알려주시면 감사하겠습니다....

답변 1

0

코딩 센세님의 프로필 이미지
코딩 센세
지식공유자

혹시 문제가 이해가 안된다는 이야기이실까요...?

 

아래 사진의 해당 문제를 보시면, 예제에서 주어지는 숫자는 범위이며

 

해당 범위의 모든 자연수의 2의 거듭제곱 꼴이면서 가장 큰 약수를 계산해서 더해서 정답을 구하라고 나와 있습니다.

 

그래서 21분 22초에서는 해당 문제가 말하는 그대로, 176 ~ 177이라는 범위가 주어졌다면,

 

176의 약수 중 가장 큰 거듭제곱 꼴 => 16

177의 약수 중 가장 큰 거듭제곱 꼴 => 1

 

을 계산해서, 16+1 을 하면 1번 예제의 정답인 17이 나온다는 이야기입니다 :)

 

image

김철세님의 프로필 이미지
김철세

작성한 질문수

질문하기