숫자가 소수인지 아닌지 확인하려면 순진한 방법은 숫자를 2에서 n으로 나누고 나머지가 0으로 표시되면 주어진 숫자는 소수가 아닙니다. 그러나 n/2까지만 나누고 확인하는 것이 가장 좋습니다 (훨씬 더 좋은 방법은 sqrt (n)까지 인식됩니다), 나는 후반을 건너 뛰는 이유를 알고 싶습니다. 우리는 우리의도에 11/6 또는 11/7 또는 11/8 또는 9분의 11 또는 11/10을 할 경우 11/2 = 5 , 숫자 11은 소수인지 아닌지를 확인해야하는 경우숫자를 찾는 것은 소수입니다. 왜 n/2가 더 좋은지 확인하는 것이 좋습니다. n의 후반에 숫자를 피하는 이유는 무엇입니까
말 이 경우 우리는 나머지를 0으로 얻습니다. 어떤 주어진 숫자 n도 마찬가지입니다.
하반기를 피하는 이유는 무엇입니까? "지정된 숫자를 주어진 숫자의 절반 이상으로 나눌 경우 나머지 숫자는 0이되지 않습니다. 즉, 지정된 숫자의 절반보다 큰 숫자는 주어진 숫자를 나눌 수 없습니다."
제발 나를 도와주세요
사실, 당신은 후반 이상으로 벗어날 수 있습니다. :) 그러나 숫자 x가 있다고 상상해보십시오. 2, 3, ..., x/2로 나눌 수 있습니다. 1과 x를 고려하지 않는다면 그게 전부입니다. 'x = y * 0' <=>'x = y * z'인데,'y> x/2' =>'z <2'를 취하면 유일한 정수'0
네가 맞습니다. 숫자의 근원이 충분하다고 말할 수도 있습니다. –
SQRT (n) beacause 이후에 체크 포인트가 없습니다. 그 범위의 숫자가 n으로 나뉘면 나머지는 SQRT (n)보다 작을 것이고 이미 점검되었을 것입니다. – Fruitbat