备注:笔试编程题目为手写,满分150分,时间为2小时。
今年为第二年招生,第一年复试题目见博客
从题目类型上看,大体有递归,穷举,数组和字符串这几种类型。比较容易归纳
1. “完数“判断(40分)
一个正整数的所有因子之和等于它本身,这样的数称为完数。如:1 + 2 + 3 = 6,则6为完数。输出100以内的所有完数。
参考代码:
#include<bits/stdc++.h> //包含所有库函数
using namespace std;
int isWholeNUM(int n){
//使用函数进行判断
int sum = 0;
for(int i = 1;i < n;++i){
if(n%i == 0)
sum += i;
}
if(sum == n) return 1;
else return 0;
}
int main(){
for(int i = 1;i < 100;++i){
if(isWholeNUM(i))
cout<<i<<endl;
}
return 0;
}
2. 序列输出(40分)
假定序列满足:
- 第一位数是1;
- 第二位数是2;
- 奇数位为前两项之和,偶数项为前两项之差;
将100以内序列按递增排序并输出
参考代码:
#include<bits/stdc++.h>
using namespace std;
int r_list(int n){
if(n ==