A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这里是一种素数的筛选,素数还有很多筛选方法!!
  1. public class test {
  2. public static void main(String[] args) {
  3.   int i,n,k=0;
  4.      for (n = 3; n<=100; n++) {                         //3~100的所有数
  5.          i=2;
  6.          while (i<n) {
  7.              if (n%i==0)
  8.                                  break;                                        //若能整除说明n不是素数,跳出当前循环
  9.              i++;
  10.           }
  11.       if (i==n) {                                                 //如果i==n则说明n不能被2~n-1整除,是素数
  12.              k++;                                                 //统计输出数的个数
  13.              System.out.print(i+ "\t ");
  14.              if (k %6==0)                                 //每输出5个则换行
  15.               System.out.println();
  16.          }
  17.      }
  18. }
  19. }
复制代码





11 个回复

倒序浏览
class Day04_Text {
        public static void main(String[] args) {
        //求出1-100之间的素数(只能被1和本身整除的数称为素数),输出个数和具体的数字
        /*
        思路;首先我们先把1-100全部罗列出来

        */
        int temp = 0;
                for (int a = 1;a <= 100 ;a++ ) {
                        if (a % 2 != 0 & a % 3 != 0 & a % 5 != 0 &a % 7 != 0) {
                                System.out.println(a);
                                temp++;
                        }

                }
                        System.out.println("总数为"+temp);
        }
}
回复 使用道具 举报
不知道对不对  
回复 使用道具 举报

(2),3,5,7   没有打印出来,而且这种方法的运算效率太低了,一般都不会用这种方法,而且这个方法不实用,当区间放大一点点你的判断方法就错了!!不过能这么想已经很不错了,加油!!
回复 使用道具 举报
来看看,新手入过!!!!
回复 使用道具 举报
素数:只能被1和本身乘除的数对吧?
回复 使用道具 举报
huixue626 来自手机 中级黑马 2015-10-2 07:22:05
7#
新手路过
回复 使用道具 举报
syusouki 发表于 2015-10-2 01:24
素数:只能被1和本身乘除的数对吧?

对,但1既不是质数也不是合数
回复 使用道具 举报
判断数字n能不能被2~n^0.5整除就好了
回复 使用道具 举报
素数,这么文艺范儿
回复 使用道具 举报
遍历到sqrt,是一种方法,希望有写好的程序
回复 使用道具 举报
年年糕v 发表于 2015-10-1 23:18
(2),3,5,7   没有打印出来,而且这种方法的运算效率太低了,一般都不会用这种方法,而且这个方法不 ...

恩  已经认识到方法的局限性和错误了  谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马