论坛首页 招聘求职论坛

一道简单的Java面试题

浏览 103238 次
精华帖 (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
0 请登录后投票
   发表时间: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);
0 请登录后投票
   发表时间:2011-08-24  
30秒写都写不完,2~3分钟应该可以
0 请登录后投票
   发表时间: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 是质数的...
0 请登录后投票
   发表时间:2011-08-29  
看到这贴..正在上学的我表示无语了...
0 请登录后投票
   发表时间: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);
			}
		}
		
	}
} 

表示这应该行吧。。。
0 请登录后投票
   发表时间: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毫秒
0 请登录后投票
   发表时间: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);
  }

0 请登录后投票
   发表时间: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+" ");
			}
		}
	}
}
0 请登录后投票
   发表时间: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);
              
      )




}




}
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics