黑马程序员技术交流社区
标题:
能不能帮我分析一下这题怎么用程序实现
[打印本页]
作者:
周一川
时间:
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
class sushu
{
public static void main(String[] args)
{
int num=0; //统计是素数的个数
for (int x=101;x<=200 ;x++ )
{
for (int y=2;y<Math.sqrt((double)(x)) ;y++ )
{
if (x%y==0) //如果x%等于0,那么就直接break跳出本次循环,没有必要再往下判断,
{
break;
}
else if (y+1>Math.sqrt((double)(x))) //如果一直判断到最后也就是y+1的值大于x等平方根,那这个就是素数.
{
System.out.println(x+"是素数!");
num=num+1;
}
}
}
System.out.println(num);
}
}
复制代码
看对你有效没没有用
作者:
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