本帖最后由 黄少海 于 2013-7-2 11:31 编辑
- <P> private static boolean isPrime(int n) {//判定一个数是否是素数</P>
- <P> for(int i=2; i<n; i++){
- if(n%i==0){
- return false;
- }
- }
- return true;
- }
- </P>
复制代码
- <P> private static boolean isPrime(int n) {//判定一个数是否是素数</P>
- <P> for(int i=2; i<=n/2; i++){
- if(n%i==0){
- return false;
- }
- }
- return true;
- }</P>
复制代码 其中for循环中 i<n 跟 i<=n/2有什么不同? 判定一个素数只要判定它不被1跟它本身以外的数整除。这是用i<n来判定条件的范围。为什么还要n要除以2。 |