全部评论
腾讯编程题是简单的有点诡异,不知道是不是没有get到考点
没怎么看懂题目。百度了一下,才知道是让我们求这个临界楼层。但腾讯的笔试题根本就没提到这点。抄题目也太不用心了。
最后一题没怎么看懂
腾讯的题目水的可以!!
看来腾讯今年要招人
数据库的没做。。。扔玻璃球的写了个递归的代码,但感觉时间复杂度太高,最后写递推的来不及了
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int n = in.nextInt();
output(n,solve(n/2));
}
}
private static void output(int n, List<Integer> solve)
{
int i = 0;
for(int p:solve){
if(isPrime(n-p))
i++;
}
System.out.println(i);
}
public static boolean isPrime(int n){
if(n==1)
return false;
for(int i=2;i<=n/2;i++){
if(n%i == 0)
return false;
}
return true;
}
public static List<Integer> solve(int n){
int[] A = new int[n+1];
for(int i=2;i<=n;i++){
A[i]=i;
}
int p = (int)(Math.sqrt(n));
for(int i=2;i<=p;i++){
if(A[i] != 0){
int j = i*i;
while(j<=n){
A[j]=0;
j += i;
}
}
}
List<Integer> primes=new
ArrayList<Integer>();
for(int i=2;i<=n;i++){
if(A[i] != 0)
primes.add(A[i]);
}
return primes;
}
}
基础研究岗位周六下午的题跟阿里一个熊样
相关推荐