문제 설명
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
제한 사항
3 ≤ n ≤ 1,000,000
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 1;
while(1) {
if(n % answer == 1) {
return answer;
break;
}
else
answer++;
}
}
나눌 x의 값을 변수 answer = 1
로 두고
n % answer == 1
이 될 때까지 무한 반복문을 돌립니다.
나머지가 1이 되지 않을 때는 answer에 저장된 값 1부터 하나씩 올리며(++)
나머지가 1이 되는 숫자를 찾아 만족하면 값을 리턴하고 break;
문으로 반복문을 멈춥니다.