[プログラマー]レベル1残り1の数

4147 ワード

https://programmers.co.kr/learn/courses/30/lessons/87389

問題の説明


パラメータは自然数nを与える.nをxの残りを1とする最小自然数xで除算する解関数を完了してください.答えが常に存在することを証明することができます.

せいげんじょうけん


3 ≤ n ≤ 1,000,000

I/O例



I/O例説明


I/O例#1
10을 3으로 나눈 나머지가 1이고, 
3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로,
3을 return 해야 합니다.
I/O例#2
12를 11로 나눈 나머지가 1이고, 
11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 
11을 return 해야 합니다.

問題を理解する


問題を解く


問題を解く。


制限条件下ではnは3より大きい.
最大除算数(i)は1にできないので、1ではなく2から
function solution(n){
	for(let i = 2; i<n; i++){
    	if(n % i ===1) return i ;
    }
}

問題を解く。


運用文はfor文よりも簡潔に解くことができる.
function solution(n, x=1){
	while(x++){
    	if(n % x === 1) return x;
    }
  }
}

問題を解く。


運用文はfor文よりも簡潔に解くことができる.
function solution(n){
  let answer = 1;
  while (n % answer != 1) answer++;
  return answer;
}
コメントリンク
https://jaypedia.tistory.com/60