黑马程序员技术交流社区

标题: 大家还记得素数吗,判断一个数字是否为素数,条件怎么写呢 [打印本页]

作者: Buer    时间: 2016-7-16 13:50
标题: 大家还记得素数吗,判断一个数字是否为素数,条件怎么写呢
如题所示。。。。。。
作者: 15242694137    时间: 2016-7-16 15:37
只能被1和数本身整除
作者: cat73    时间: 2016-7-16 16:30
只判断单个数字 N 的话,将这个数字与 range(2, N - 1) 中的每个数字进行取余运算,如任意一个结果为 0 则这个数字不是质数。
如果数字多的话,建议从第一个质数开始一直遍历上去。

作者: Buer    时间: 2016-7-16 17:55
cat73 发表于 2016-7-16 16:30
只判断单个数字 N 的话,将这个数字与 range(2, N - 1) 中的每个数字进行取余运算,如任意一个结果为 0 则 ...

只用循环能解决吗,我基础班第四天。不用其他语句
作者: jjccxx12    时间: 2016-7-16 22:41
我一般都算到这个本身除以2+1,这样基本是不是素数就出来了,不用想太多
作者: a825125501    时间: 2016-7-16 23:52
  1. class Demo {
  2.                         public static void main(String[] args) {
  3.                                 for (int x = 1;x <= 100 ;x++ ) {
  4.                                         int count = 0;
  5.                                         for (int y = 1;y <= x ;y++ ) {
  6.                                                         if (x%y == 0) {
  7.                                                         count++;
  8.                                                 }
  9.                                         }
  10.                                         if (count == 2) {
  11.                                                 System.out.println(x);
  12.                                         }
  13.                                 }
  14.                         }
  15.                 }
复制代码

作者: a825125501    时间: 2016-7-16 23:54
不会排版 将就看吧...
作者: lsp0523    时间: 2016-7-16 23:59
if(i%2!=0)就可以判断出素数。
作者: Buer    时间: 2016-7-17 09:33
a825125501 发表于 2016-7-16 23:52

好方法!!!!!!!!
作者: Buer    时间: 2016-7-17 09:34
lsp0523 发表于 2016-7-16 23:59
if(i%2!=0)就可以判断出素数。

那是单数。。。。。。。。。
作者: HEBEIREN    时间: 2016-7-17 10:00
本帖最后由 HEBEIREN 于 2016-7-17 10:04 编辑

         public static void main(String[] args) {                                                             int shu = 6;              
                                                boolean result=true;             //表示是否为素数的结果标识
                                              for (int m = 2; m < shu; m++)                              
                             {                         if (shu % m == 0)
                                                    {            
                                                         result=false;               //只要找到一个能够除尽的数就说明这个数字不是素数,结果标识就为false 。
                                                         break;                        
                                                    }                                                      
                             }         
                                      if(result)         
                                {               
                                  System.out.println(shu+"是素数");              
                              }         
                          else{      
                                 System.out.println(shu+"不是素数");         
                                  }      
                            }

作者: Buer    时间: 2016-7-17 23:29
a825125501 发表于 2016-7-16 23:52

方法很经典,记忆深刻啊




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