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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 依然超级赛亚人 高级黑马   /  2014-7-16 22:21  /  1683 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 依然超级赛亚人 于 2014-8-13 08:11 编辑

哥们给我出了一个求质数的问题,让我用程序体现出来,想了好几天没想出来,跪求大神指点迷津!

问题的描述:一个整数如果只能被自己和1整除,那么这个数就叫做质数。请编写程序,输出1~100之间的所有质数。

8 个回复

倒序浏览
我这是打印三位数的质数,你看看把,都差不多,
  1. public static void main (String []args)
  2. {
  3. int x,y;
  4. for (x = 100;x < 1000 ;x++ )
  5. {
  6. for (y = 2;y < x ;y++ )//对2到这个数本身之间的数进行遍历,使之与这个数取模
  7. {
  8. if(x % y == 0)//如果取模的值为0,就说明这个数不是质数,程序结束
  9. {
  10. break;
  11. }
  12. }
  13. if(y >= x)//如果已经遍历到和这个数相等的数,取模的值都不为0,就说明这个数是质数
  14. {
  15. System.out.println(x);
  16. }
  17. }
  18. }
复制代码

评分

参与人数 1黑马币 +3 收起 理由
菜小徐 + 3

查看全部评分

回复 使用道具 举报
  1.         public static void find() {
  2.                 for (int i = 1; i < 101; i++) {
  3.                         boolean flag = true;
  4.                         for (int j = 2; j <= Math.pow(i, 0.5); j++) {
  5.                                 if (i%j==0) {
  6.                                         flag = false;
  7.                                         break;
  8.                                 }
  9.                         }
  10.                         if (flag) {
  11.                                 System.out.println(i);
  12.                         }
  13.                 }
  14.         }
复制代码

评分

参与人数 1黑马币 +3 收起 理由
菜小徐 + 3

查看全部评分

回复 使用道具 举报
public static void main(String[] args) {

                 
                for(int i=1;i<=100;i++){
                        int count=0;//count表示被整除的次数
                        for(int j=1;j<=i;j++){
                               
                                if(i%j==0){
                                        //如果整除的话count加1,
                                          count++;
                                }if(count>2)break;        //这里思路是质数只能被1和它本身整除,如果能被第三个数整除了说明不是质数了
                                                                        //就跳出内层循环       
                        }
                        if(count==2){  
                                //这里判断满足只被两个数整除的就输出
                                        System.out.println(i);
                                       
                                }
                }
        }
回复 使用道具 举报
ソi苆僞lè袮 发表于 2014-7-17 00:28
public static void main(String[] args) {

                 

恩啊,领教了!:handshake
回复 使用道具 举报

多谢赐教!:handshake
回复 使用道具 举报
张盼 发表于 2014-7-16 22:30
我这是打印三位数的质数,你看看把,都差不多,

一眼看到照片就感觉似曾相识,再看名字果然是同学啊,呵呵。受教了!:handshake你也要学Android吗?报名了吗?应经准备的差不多了吧?
回复 使用道具 举报
J.twt 中级黑马 2014-7-17 23:33:58
8#
加油,慢慢的写多了你就会信手拈来
回复 使用道具 举报
张盼 中级黑马 2014-7-18 00:05:40
9#
依然超级赛亚人 发表于 2014-7-17 23:12
一眼看到照片就感觉似曾相识,再看名字果然是同学啊,呵呵。受教了!你也要学Android吗?报名 ...

准备上完课去考试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马