锁定老帖子 主题:一道简单的Java面试题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (3)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-17
为啥你们都搞的那么复杂???
public class Zhi { public static void main(String[] args) { int sum = 0; for (int i = 0; i < 100; i++) { if (isPrime(i)) { sum = sum + i; System.out.print(" " + i); } } System.out.println("total:" + sum); } public static boolean isPrime(int input) { if (input < 2) { return false; } if (input != 2 && input % 2 == 0) { return false; } for (int i = 3; i < input; i = i + 2) { if (input % i == 0) return false; } return true; } } 输出: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 total:1060 |
|
返回顶楼 | |
发表时间:2011-08-17
var _str = "" ;
for(var i = 2 ; i < 100 ; i++ ) { var j = 2 ; var _end = i / 2 + 1 ; for(j = 2 ; j < _end ; j++ ) { if(i % j == 0){ break ; } } if(j >= _end ){ _str += i + " ,"; } } document.write(_str); |
|
返回顶楼 | |
发表时间:2011-08-24
30秒写都写不完,2~3分钟应该可以
|
|
返回顶楼 | |
发表时间:2011-08-24
zhangyang6380006 写道 LZ您开玩笑呢吧,敢要这么多这个题目都没做出来?我写个试试
for(int i=1;i<100;i++) { if(i % 2) == 1) system.out.println(i+" 是质数"); else break; } 也不知道对不对,没测 如果i = 9的话,也会输出i 是质数的... |
|
返回顶楼 | |
发表时间:2011-08-29
看到这贴..正在上学的我表示无语了...
|
|
返回顶楼 | |
发表时间:2011-08-29
public class Test { public static void main(String[] args) { for(int i=2;i<=100;i++) { int count = 0; for(int j=2;j<Math.sqrt(i);j++) { if(i % j == 0) { count++; break; } } if(count==0) { System.out.println(i); } } } } 表示这应该行吧。。。 |
|
返回顶楼 | |
发表时间:2011-08-30
试了一下 前10的素数不计算再内
int kk[]={2,3,5,7}; long l =System.currentTimeMillis(); for(int i=11;i<=1000000;i++) { boolean b = true; for (int j = 0; j < kk.length; j++) { if(i%kk[j]==0) { b=false; break ; } } if(b) System.out.println(i); } long l2 = System.currentTimeMillis(); System.out.println(l2-l); 用时2813毫秒 |
|
返回顶楼 | |
发表时间:2011-08-30
最后修改:2011-08-30
public static void main(String[] args) { int count = 0; for (int i = 2; i <= 100; i++) { int m=0; for (int j = 1; j <= i; j++) { if(i%j==0){ m+=1; } if(m>2){ break; } } if(m==2){ System.out.print(i+" "); count ++; } } System.out.println("\n100内质数总个数:"+count); } |
|
返回顶楼 | |
发表时间:2011-09-07
最后修改:2011-09-07
//求100以内的素数(用开根号的方法) public class PrimeNumber { public static void main(String[] args) { int i,j,k; for(i=2;i<100;i++){ k=(int)Math.sqrt(i); for(j=2;j<=k;j++){ if(i%j==0){ break; } } if(j>k){ System.out.print(i+" "); } } } } |
|
返回顶楼 | |
发表时间:2011-09-07
zhangyang6380006 写道 LZ您开玩笑呢吧,敢要这么多这个题目都没做出来?我写个试试
for(int i=1;i<100;i++) { if(i % 2) == 1) system.out.println(i+" 是质数"); else break; } 也不知道对不对,没测 开玩笑,这种答案你也写的出来 你这个是求奇数 楼主要求素数 for (int i=1;i<=100;i++){ int flag =0; for (int j=round(Math.sqrt(i));j>0;j--){ if (i%j==0) flag=1; break; } if (flag=0){ system.out.println(j); ) } } |
|
返回顶楼 | |