【23xiu.com-爱上秀-教育信息门户网】
去星网锐捷笔试,考了很多内容:有c语言的相关知识,网络IP,线性表等。后面有四道大题,共60分,分值很高吧!
顺便说一下,我报的是软件研发,当时说包括c、c++和java.可拿到试卷才知道全是c,由于对java比较熟悉,用java实现后面的四道大题。具体的c函数表示和原题已经记不清了,只能说说题目的大意。
以下代码在IDE里面可以直接运行,并输出相应结果。
1.编程实现杨辉三角的前十行(10分):
public class Test4 {
private static void getLines(int i){
int[][] yh=new int[i][i];
//给所有端点赋值为1
for(int n=0;n
yh[n][0]=1;
yh[n][n]=1;
}
//给除了端点元素的其它元素赋值,把yh[n][m]看成是组合c(n,m),n、m分别为下标和上标
for(int n=2;n
for(int m=1;m
//该公式为杨辉三角的特性之一
yh[n][m]=yh[n-1][m]+yh[n-1][m-1];
}
}
//输出整个杨辉三角
for(int k=0;k
for(int l=0;l<=k;l++){
System.out.print(yh[k][l]+" ");
}
System.out.println();
}
}
public static void main(String[] args){
int i=10;
getLines(i);
}
}
public class Test4 {
private static void getLines(int i){
int[][] yh=new int[i][i];
//给所有端点赋值为1
for(int n=0;n
yh[n][0]=1;
yh[n][n]=1;
}
//给除了端点元素的其它元素赋值,把yh[n][m]看成是组合c(n,m),n、m分别为下标和上标
for(int n=2;n
for(int m=1;m
//该公式为杨辉三角的特性之一
yh[n][m]=yh[n-1][m]+yh[n-1][m-1];
}
}
//输出整个杨辉三角
for(int k=0;k
for(int l=0;l<=k;l++){
System.out.print(yh[k][l]+" ");
}
System.out.println();
}
}
public static void main(String[] args){
int i=10;
getLines(i);
}
}
输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
2.一元钱买一瓶啤酒,两个空瓶换一瓶啤酒.问n元钱能喝多少瓶啤酒?用递归实现。(15分)
public class Test2 {
private static int getNumberOfBeer(int n){
if(n==1){
return 1;
}else if(n>=2&&n%2==0){
return n+getNumberOfBeer(n/2);
//奇数元钱需要加1
}else if(n>=2&&n%2!=0){
return n+1+getNumberOfBeer(n/2);
}
return -1;
}
public static void main(String[] args){
int i4=getNumberOfBeer(4);
int i5=getNumberOfBeer(5);
System.out.println(i4);
System.out.println(i5);
}
}
public class Test2 {
private static int getNumberOfBeer(int n){
if(n==1){
return 1;
}else if(n>=2&&n%2==0){
return n+getNumberOfBeer(n/2);
//奇数元钱需要加1
}else if(n>=2&&n%2!=0){
return n+1+getNumberOfBeer(n/2);
}
return -1;
}
public static void main(String[] args){
int i4=getNumberOfBeer(4);
int i5=getNumberOfBeer(5);
System.out.println(i4);
System.out.println(i5);
}
}
输出:
7
9