黑马程序员技术交流社区

标题: 求教,三位数的质数是怎么求的。。。 [打印本页]

作者: Y1011    时间: 2015-9-18 10:06
标题: 求教,三位数的质数是怎么求的。。。
有没有大神指导一下的?
作者: jiaweizhang    时间: 2015-9-18 11:42
朋友你好,首先你得理解质数:
质数除了1和自己本身,不能被其他自然数整除的数叫质数
比如7: 1和7本身除外,但除以其他任何自然数,都不会整除,所以是质数
我在基础测试也抽到这题,代码演示一下,
/**
* 第八题:编程打印所有的3位质数,质数特点:只能被1和其本身整除
* @author Frank
*
*/
public class Test8 {
    public static void main(String[] args) {
         System.out.println("所有的3的质数有:");  
         
           for(int i=999;i>100;i--){            // i 是我们取三位数验证的数,这里--是倒着验证
                for(int j=i-1;j>=2;j--){      // j 是被除数,这里验证范围是验证数以内的自然数,j赋值-1是为了不让它除以自己,大于等于二也就控制不被1除,
                    if(i%j==0){              //此处判断如果验证数被整除,说明不是质数,跳出循环  
                        break;  
                    }  
                    if(j <= 2)              //这里当j<= 2 ,说明验证范围内的数都通过验证,这个数是质数,打印ok
                        System.out.println(i);  
                }  
            }        
      }
}


希望帮到你,朋友


作者: jiaweizhang    时间: 2015-9-18 11:43
你应该在学了吧
作者: Y1011    时间: 2015-9-18 12:48
jiaweizhang 发表于 2015-9-18 11:43
你应该在学了吧

木有,流程到面试了
作者: Y1011    时间: 2015-9-18 12:50
jiaweizhang 发表于 2015-9-18 11:43
你应该在学了吧

我想用遍历2到数本身,将这个数%遍历到的每一个数,只要结果都不为0就输出这个数,你按这个思路看一下OK不?
作者: jiaweizhang    时间: 2015-9-18 13:45
自增和自减是一个意思,我还在等考试资格,考试难吗,你在哪个校区啊
作者: Y1011    时间: 2015-9-18 14:53
jiaweizhang 发表于 2015-9-18 13:45
自增和自减是一个意思,我还在等考试资格,考试难吗,你在哪个校区啊 ...

入学的稍微难点吧,我准备上海4期
作者: 木木三    时间: 2015-9-18 16:25
定义判断质数的方法,然后遍历所有三位数,用这个筛选。
  1. package itheima;
  2. /*
  3. 5、 编程打印所有的3位质数,质数特点:只能被1和其本身整除。
  4. */
  5. public class Test5 {
  6.         public static void main(String[] args)
  7.         {
  8.                 for(int num=100; num<1000; num++) //循环遍历所有三位数,筛选出质数。
  9.                 {
  10.                         isPrime(num);
  11.                 }
  12.         }
  13.        
  14.         public static void isPrime(int num) //定义质数的判断方法
  15.         {
  16.                 int count = 0; //定义被整除的次数
  17.                 for(int i=1; i<num; i++) //定义除数区间,1~num,循环遍历。
  18.                 {
  19.                         if((num%i)==0)
  20.                                 count++; //被整除次数
  21.                 }
  22.                 if(count<2)
  23.                         System.out.println(num+"是质数");
  24.                 else
  25.                         return;
  26.         }
  27. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2