论坛首页 招聘求职论坛

一道简单的Java面试题

浏览 103222 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (3)
作者 正文
   发表时间:2011-04-10   最后修改:2012-02-09
就是求质数了。竟然没有人答出来。
  • 大小: 265.9 KB
   发表时间:2011-04-10  
这样题目,不难吧,明白什么是质数就行了
可能有人部明白质数的定义
0 请登录后投票
   发表时间:2011-04-10   最后修改:2012-02-09
直接给出了质数的定义了。在题目后有“指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。”的描述。
0 请登录后投票
   发表时间:2011-04-10  
LZ您开玩笑呢吧,敢要这么多这个题目都没做出来?我写个试试
for(int i=1;i<100;i++)
{
if(i % 2) == 1)
system.out.println(i+" 是质数");
else
break;
}
也不知道对不对,没测
0 请登录后投票
   发表时间:2011-04-10  
少个括号,不好意思
0 请登录后投票
   发表时间:2011-04-10  
我数学系的,能算12k以为的资数,能给12k不?
0 请登录后投票
   发表时间:2011-04-10  

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int j=0;j<20;j++){
			if(isPrime(j))
				System.out.print(j+" ");
		}
	}

	public static boolean isPrime(int d){
		if(d == 0)return false;
		for(int i=2;(i*i)<(d+1);i++){
			if((d % i) == 0)return false;
		}
		return true;
	}


这个仿照教科书的例子做的,先写一个判断是否是质数的函数isPrime(),然后从1到n分别调用isPrime()函数来检查。检查是否是质数的算法是核心,其简单的使用从2到n的开根的数作为除数。这样的算法复杂度几乎是O(n*log(n)),看上去不错,但其实很不经济。
0 请登录后投票
   发表时间:2011-04-10  
敢问楼主是哪个公司的?可否站内短信联系,或者电话13478667125
小弟目前有到北京去工作的想法。我要求没你说的那么高,只要7.5K就行
0 请登录后投票
   发表时间:2011-04-10  
	public static void printNum(int n) {
		for (int i = 2; i <= n; i++) {
			int m = 0;
			for (int j = 2; j < 100; j++) {
				if (i > j) {
					if (i % j == 0) {
						m++;
					}
				} else {
					break;
				}
			}
			if (m < 1) {
				System.out.println(i);
			}
		}
	}

	public static void main(String[] str) {
		printNum(100);
	}


效率比较底,有点复杂。
0 请登录后投票
   发表时间:2011-04-10  
rickysun 写道
求100以内的质数。
大家觉得这是个很难的题目吗?
最近面试了很多人,职位是:Java开发工程师。
有人说“这个是算法题,我是搞J2EE开发的,不需要会这个题目”,此人薪资要求8K
有人说“可能专业不对口,我是搞SSH的,我Struts/Spring/Hibernate都懂。这个做不出来”,此人薪资要求8.5K。
最终有一个哥们,做了15分钟,终于给出答案了。当然是答案是错的,此人薪资要求12K。
他给的答案是:
for(int i=0;i<100;i++) {
   for(int j<0;j<100;j++) {
       if(i/j==0) {
          break;
       }
       System.out.println(i);
   }
}

:cry:   
我真的很无奈了。。。。。
我现在的想法是,30秒内给出答案的,直接8K以上。。。

楼主太搞了,很多毕业生都会做这题的,你给8k?
0 请登录后投票
论坛首页 招聘求职版

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