파스칼 반복문의 출력
시간 제한1초메모리 제한128 MB
N이 최대 10억일 때 N보다 작은 가장 큰 약수를 찾는 반복문이 몇 번 실행되는지 효율적으로 계산합니다.
문제
다음 파스칼 코드는 자연수 N을 읽고 counter의 값을 출력한다.
readln(N);
counter := 0;
for i := N-1 downto 1 do begin
counter := counter + 1;
if N mod i = 0 then break;
end;
writeln(counter);
반복문은 i = N - 1부터 1까지 1씩 감소하면서 진행된다. 각 반복에서 먼저 counter를 1 증가시키고, 그 직후 i가 N의 약수이면 반복을 끝낸다.
N이 주어졌을 때, 이 코드가 출력하는 값을 구하시오.
입력
첫째 줄에 자연수 N이 주어진다.
1 <= N <= 10^9
출력
코드가 출력하는 counter 값을 출력한다.