锁定老帖子 主题:一道简单的Java面试题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (3)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-10
ctoeye 写道 rickysun 写道 冰寒Alicv 写道 rickysun 写道 backshadow 写道 ArrayList<Integer> al = new ArrayList<Integer>(30); for (int i = 2; i <= 100; i++) { boolean ok = true; for (int t : al) { //用已有质数集作判断,减少比较次数 if (i % t == 0) { ok = false; break; } if (t > i / 2) { break; } } if (ok) { al.add(i); } } 楼主啊,这是我的解法, 我曾经在面试现场解得斐波那契的3变量法和杨辉三角的一维数组法,在打游戏时候想得怪物动作的控制方法,就在昨晚还做梦想出魔兽或三国杀的成就系统解决办法,我出价不高啊,不用8k,6k就成! 哥,你是在北京吗?我就喜欢你这样的,喜欢钻研算法和技术的人。如果是只要6K,直接来我这报道吧。 主要搞什么东西? 主要用算法?--游戏?图形? 没那么高深,就是搞电子商务网站。。。。。。。。开发一整套前后台程序。当然不是简单的写写网页,内容还挺多,有支付,物流,订单管理,还有大并发量,大数据量,集群,分布式之类的技术。 搞这些东西,内容多只要加人做就行。就是业务系统,做不了说明领头的不怎么地。和那个算法屁点关系都没有。再说了,大并发量,大数据量,集群,分布式难道没有专门的人搞?你们没有架构师,没有高程,没有运维的人?你会让一个初哥去搞这些?你招人的时候,出发点就不对,做什么招什么才是正解。 大哥教训的有道理,小弟拜读了。 |
|
返回顶楼 | |
发表时间:2011-04-10
最后修改:2011-04-10
public class TestPrime { } }
|
|
返回顶楼 | |
发表时间:2011-04-10
for (int i = 1; i <= 100; i++) { boolean flag = true; for (int j = 2; j < i; j++) { Integer v = i % j; if(v == 0) flag = false; } if(flag) { System.out.println(i); } } |
|
返回顶楼 | |
发表时间:2011-04-10
if(i % 2 == 0)用于判断偶数和奇数。判断质数需要两次循环,第二次循环从2开始,小于等于i/2(i为初次循环变量),判断i % j(j为第二次循环变量)是否等于0,等于0则为合数,否则则为质数(素数)。
|
|
返回顶楼 | |
发表时间:2011-04-10
楼主在哪家公司工作?
|
|
返回顶楼 | |
发表时间:2011-04-10
唉,大学的全国计算机等级考试三级,就很多这样的题目!
大一 的学了C语言 就知道这样的题目了! 我只要4K,要了我吧 |
|
返回顶楼 | |
发表时间:2011-04-10
rickysun 写道 ctoeye 写道 rickysun 写道 冰寒Alicv 写道 rickysun 写道 backshadow 写道 ArrayList<Integer> al = new ArrayList<Integer>(30); for (int i = 2; i <= 100; i++) { boolean ok = true; for (int t : al) { //用已有质数集作判断,减少比较次数 if (i % t == 0) { ok = false; break; } if (t > i / 2) { break; } } if (ok) { al.add(i); } } 楼主啊,这是我的解法, 我曾经在面试现场解得斐波那契的3变量法和杨辉三角的一维数组法,在打游戏时候想得怪物动作的控制方法,就在昨晚还做梦想出魔兽或三国杀的成就系统解决办法,我出价不高啊,不用8k,6k就成! 哥,你是在北京吗?我就喜欢你这样的,喜欢钻研算法和技术的人。如果是只要6K,直接来我这报道吧。 主要搞什么东西? 主要用算法?--游戏?图形? 没那么高深,就是搞电子商务网站。。。。。。。。开发一整套前后台程序。当然不是简单的写写网页,内容还挺多,有支付,物流,订单管理,还有大并发量,大数据量,集群,分布式之类的技术。 搞这些东西,内容多只要加人做就行。就是业务系统,做不了说明领头的不怎么地。和那个算法屁点关系都没有。再说了,大并发量,大数据量,集群,分布式难道没有专门的人搞?你们没有架构师,没有高程,没有运维的人?你会让一个初哥去搞这些?你招人的时候,出发点就不对,做什么招什么才是正解。 大哥教训的有道理,小弟拜读了。 一个开发人员的高度决定于他底层的积累。楼主的要求还是挺高的,在拥有Java基础和开发能力的前提,还需要计算机基础呀。很多人谈技术路线发展,多为空谈,越往高层走,越需要底层支持。认识方向错了,拿只能搞业务了。任何行业都是有门槛和风险的。 |
|
返回顶楼 | |
发表时间:2011-04-11
mercyblitz 写道 rickysun 写道 ctoeye 写道 rickysun 写道 冰寒Alicv 写道 rickysun 写道 backshadow 写道 ArrayList<Integer> al = new ArrayList<Integer>(30); for (int i = 2; i <= 100; i++) { boolean ok = true; for (int t : al) { //用已有质数集作判断,减少比较次数 if (i % t == 0) { ok = false; break; } if (t > i / 2) { break; } } if (ok) { al.add(i); } } 楼主啊,这是我的解法, 我曾经在面试现场解得斐波那契的3变量法和杨辉三角的一维数组法,在打游戏时候想得怪物动作的控制方法,就在昨晚还做梦想出魔兽或三国杀的成就系统解决办法,我出价不高啊,不用8k,6k就成! 哥,你是在北京吗?我就喜欢你这样的,喜欢钻研算法和技术的人。如果是只要6K,直接来我这报道吧。 主要搞什么东西? 主要用算法?--游戏?图形? 没那么高深,就是搞电子商务网站。。。。。。。。开发一整套前后台程序。当然不是简单的写写网页,内容还挺多,有支付,物流,订单管理,还有大并发量,大数据量,集群,分布式之类的技术。 搞这些东西,内容多只要加人做就行。就是业务系统,做不了说明领头的不怎么地。和那个算法屁点关系都没有。再说了,大并发量,大数据量,集群,分布式难道没有专门的人搞?你们没有架构师,没有高程,没有运维的人?你会让一个初哥去搞这些?你招人的时候,出发点就不对,做什么招什么才是正解。 大哥教训的有道理,小弟拜读了。 一个开发人员的高度决定于他底层的积累。楼主的要求还是挺高的,在拥有Java基础和开发能力的前提,还需要计算机基础呀。很多人谈技术路线发展,多为空谈,越往高层走,越需要底层支持。认识方向错了,拿只能搞业务了。任何行业都是有门槛和风险的。 lz根本不是要求高不高的问题。问题在于他不知道想要招什么样的人。什么样的项目,什么样的职位,对技术的要求是不一样的。有些产品需要对业务更了解,有些产品需要对算法、技术更好。他首先要明白现在招这个人来是干嘛的。你明明是招一个搞业务开发的,你去考人家算法。这个都不明白,还做什么领导。而且身为领导,那么容易乱陈脚。说什么只要做出那题,就给8k.刚毕业的学生能做出那题的人多了去了,要是都给8k,老板不是亏死了。他根本没有从成本方面考虑。就比如马云那斯,要是都给底下的人开出架构师的价钱招一个高程,那人事吃干饭的? 什么技术发展路线?什么叫只能搞业务?没有业务,没有市场,研发部门喝西北风去呀?大多数国内企业就是业务为王,拉到项目赚到钱才是真。同样的如tecent,阿里,网易,taobao等,没有业务支撑起资金线。那一大帮研发人员不等死呀?包括我。 |
|
返回顶楼 | |
发表时间:2011-04-11
数学系的就是不一样。这个的计算量似乎是最小的了。学习了。
ordinary 写道 晕,
我给个思路吧! 计算i是否是质数只需要用i去除i之前的质数判断 代码如下: //获得1-i之间的所以质数 private List<Integer> getPrime(int number){ List<Integer> primes =new ArrayList<Integer>(); primes.add(2); for(int i=3;i<=number;i++){ if(isPrime(primes, i)){ primes.add(i); } } return primes; } //primes 是i之前的所有质数集合,i是需要判断的数 private boolean isPrime(List<Integer> primes,int i) { for (Integer prime : primes) { if(i%prime==0){ return false; } } return true; } |
|
返回顶楼 | |
发表时间:2011-04-11
ctoeye 写道 mercyblitz 写道 rickysun 写道 ctoeye 写道 rickysun 写道 冰寒Alicv 写道 rickysun 写道 backshadow 写道 ArrayList<Integer> al = new ArrayList<Integer>(30); for (int i = 2; i <= 100; i++) { boolean ok = true; for (int t : al) { //用已有质数集作判断,减少比较次数 if (i % t == 0) { ok = false; break; } if (t > i / 2) { break; } } if (ok) { al.add(i); } } 楼主啊,这是我的解法, 我曾经在面试现场解得斐波那契的3变量法和杨辉三角的一维数组法,在打游戏时候想得怪物动作的控制方法,就在昨晚还做梦想出魔兽或三国杀的成就系统解决办法,我出价不高啊,不用8k,6k就成! 哥,你是在北京吗?我就喜欢你这样的,喜欢钻研算法和技术的人。如果是只要6K,直接来我这报道吧。 主要搞什么东西? 主要用算法?--游戏?图形? 没那么高深,就是搞电子商务网站。。。。。。。。开发一整套前后台程序。当然不是简单的写写网页,内容还挺多,有支付,物流,订单管理,还有大并发量,大数据量,集群,分布式之类的技术。 搞这些东西,内容多只要加人做就行。就是业务系统,做不了说明领头的不怎么地。和那个算法屁点关系都没有。再说了,大并发量,大数据量,集群,分布式难道没有专门的人搞?你们没有架构师,没有高程,没有运维的人?你会让一个初哥去搞这些?你招人的时候,出发点就不对,做什么招什么才是正解。 大哥教训的有道理,小弟拜读了。 一个开发人员的高度决定于他底层的积累。楼主的要求还是挺高的,在拥有Java基础和开发能力的前提,还需要计算机基础呀。很多人谈技术路线发展,多为空谈,越往高层走,越需要底层支持。认识方向错了,拿只能搞业务了。任何行业都是有门槛和风险的。 lz根本不是要求高不高的问题。问题在于他不知道想要招什么样的人。什么样的项目,什么样的职位,对技术的要求是不一样的。有些产品需要对业务更了解,有些产品需要对算法、技术更好。他首先要明白现在招这个人来是干嘛的。你明明是招一个搞业务开发的,你去考人家算法。这个都不明白,还做什么领导。而且身为领导,那么容易乱陈脚。说什么只要做出那题,就给8k.刚毕业的学生能做出那题的人多了去了,要是都给8k,老板不是亏死了。他根本没有从成本方面考虑。就比如马云那斯,要是都给底下的人开出架构师的价钱招一个高程,那人事吃干饭的? 什么技术发展路线?什么叫只能搞业务?没有业务,没有市场,研发部门喝西北风去呀?大多数国内企业就是业务为王,拉到项目赚到钱才是真。同样的如tecent,阿里,网易,taobao等,没有业务支撑起资金线。那一大帮研发人员不等死呀?包括我。 我没有说不需要业务支持,我是说做技术的人。 再说,不是每个业务只有四则混合运算,工作不匹配很正常。 |
|
返回顶楼 | |