黑马程序员技术交流社区

标题: 能不能帮我分析一下这题怎么用程序实现 [打印本页]

作者: 周一川    时间: 2013-3-31 20:04
标题: 能不能帮我分析一下这题怎么用程序实现
本帖最后由 张熙韬 于 2013-4-1 07:22 编辑

题目:判断101-200之间有多少个素数,并输出所有素数。   
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,   
则表明此数不是素数,反之是素数。   
作者: 黑马19我最牛    时间: 2013-3-31 20:21
你不是分析的很明白吗?还问.

肯定是循环了,从101到200之间开始循环假定为X,然后没次循环都用这个数X%y (Y的值是从2开始到sqrt(x))如果得到0,那么就不是素数,直接开始下一个X循环,   双循环就好了!
作者: 邵震    时间: 2013-3-31 20:22
大概思路是 用for循环次数是100次 里面嵌套if语句
每个数都%2 等于零就就继续循环
等于一就打印 打印的时候最好不要换行而且加上符号隔开
或者你提前弄一个数组把等于1的数存起来 循环完后在一起打印
代码一会发给你 我先脱外衣 刚进门 穿羽绒服在给你答题。。。热死我了
作者: 黑马19我最牛    时间: 2013-3-31 20:47
  1. class sushu
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int num=0;  //统计是素数的个数
  6.                 for (int x=101;x<=200 ;x++ )   
  7.                 {
  8.                         for (int y=2;y<Math.sqrt((double)(x)) ;y++ )
  9.                         {
  10.                                 if (x%y==0)   //如果x%等于0,那么就直接break跳出本次循环,没有必要再往下判断,
  11.                                 {
  12.                                 break;
  13.                                 }
  14.                                 else if (y+1>Math.sqrt((double)(x)))  //如果一直判断到最后也就是y+1的值大于x等平方根,那这个就是素数.
  15.                                 {                                                   
  16.                                 System.out.println(x+"是素数!");
  17.                                 num=num+1;
  18.                                 }
  19.                         }
  20.                 }
  21.                 System.out.println(num);
  22.         }
  23. }
复制代码
看对你有效没没有用
作者: HM何伟    时间: 2013-3-31 20:51
class Sushu {

        public static void main(String[] args){
                 int num=0;
                int count=0;//记录个数
                for (int i=101;i<=200;i++ )
                {
                        num=i;
                        if(num%2!=0)
                        {
                                System.out.print(num+",");
                                        count++;
                        }
                }
           System.out.println("个数"+count);
               
        }
}

作者: HM何伟    时间: 2013-3-31 20:52
程序效率不是很高,但简单易理解




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