黑马程序员技术交流社区
标题:
自己研究了求素数的三种方法: 求各位大神批评斧正。
[打印本页]
作者:
踽踽行者
时间:
2015-5-26 00:11
标题:
自己研究了求素数的三种方法: 求各位大神批评斧正。
本帖最后由 踽踽行者 于 2015-5-26 00:34 编辑
奋战了几个小时 终于搞出来
第一种方法:
class ForForDemo
{
public static void main(String[] args){
/*for (int a=1;a<=100 ;a++ ){
int count = 0;
for (int b=1;b<=a ;b++ )
{
if(a%b==0){
count++;
}
}
if(count==2)
{
System.out.println(a);
}
第二种方法
int sum=0;
for (int a=2;a<=100 ;a++ )
{
boolean i = true;
for (int b=2;b<a ;b++ )
{
if (a%b==0)
{
i=false;
break;
}
}
if (i==true)
{
System.out.println(a);
sum+=a;
}
}
System.out.print("sum="+sum);
}
}
第三种方法:
for(int x=2;x<=100;x++){
int count=0;
for(int y=1;y<=x;y++){
if((x%y)!=0){
}
if(count==(x-2)){
count++;
}
System.out.println(x);
}
}
作者:
踽踽行者
时间:
2015-5-26 00:13
:)自顶一下
作者:
踽踽行者
时间:
2015-5-26 00:35
再顶一下::loveliness:
作者:
汤姆大叔
时间:
2015-5-26 00:37
虽然有点乱,但是还是想法还是特别的独特。
作者:
君子无醉
时间:
2015-5-26 05:57
for(int x=2;x<=100;x++){
for(int y=2;y<=x;y++){
if(x%y==0&&x!=y){
break;
} //剔除不必要的比较,比如当x=80时,第一次内循环y=2的时候,就直接把x给剔除出去,没必要再比较78次,节省资源
if(x%y==0&&x=y){
System.out.println(x);//将得到的素数输出出来
}
}
}
我感觉这样比较简单....:lol
作者:
踽踽行者
时间:
2015-5-26 21:25
君子无醉 发表于 2015-5-26 05:57
for(int x=2;x
恩,牛逼。。
作者:
niuapp
时间:
2015-5-26 21:34
恩,真细心
作者:
张清华
时间:
2015-5-26 21:39
学习了
作者:
wwb1105
时间:
2015-5-26 21:42
学习了 好好加油!
作者:
791180016
时间:
2015-5-26 21:53
学习学习!!
作者:
快乐Anne
时间:
2015-5-26 21:55
第三种方法是不是丢东西了,感觉代码不对呢
作者:
Lucus
时间:
2015-5-26 23:21
学习学习,总结的挺好!!!
作者:
EggEgg
时间:
2015-5-26 23:40
每日一顶,加油·~
作者:
尹娟娟
时间:
2015-6-22 17:55
好厉害。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2