2025年西北工业大学计算机考研复试经验分享
·
N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

上机题目难度较为简单,考核形式不是系统在线判题,需要在IDE里写完整代码再提交文件到服务器,由老师手改打分。
语言是C/C++,IDE有codeblocks(推荐)、devcpp、vs等。
软院是2个小时4个题,24是从15个题中任选4个作答,25不确定改没改,但是题目和计院一样NOJ原题命中率直线下降。
计院25年是3小时8个题,变化很大只有一道是学校OJ题库的原题,不像往年NOJ原题较多。
因为是手改打分,所以注释很重要,不会做的题目把思路和代码框架写一写也会给分,只要写了就不会是0分。
建议重点学习《机试攻略》前3章内容+5.1-5.3+6.1+8.1-8.2,这样性价比最高,把easy题刷熟练就没问题。
参考代码
- while True:
- try:
- a=input()
- if (len(a) != 18):
- print("ID Wrong")
- continue
- arr1=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
- sum=0
- for i in range(17):
- sum +=arr1[i]*int(a[i])
- sum %= 11
- sum = (12-sum)%11
- if sum==10 and a[17]=='X':
- print("ID Corrent")
- elif sum==int(a[17]):
- print("ID Corrent")
- else:
- print("ID Wrong")
- except:
- exit()
- #include <iostream>
- #include <string>
- #include <cctype>
- using namespace std;
- int main() {
- string id;
- // 权值
- int weight[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
- // 校验码映射:余数0~10 对应的字符
- char checkCode[11] = {'1','0','X','9','8','7','6','5','4','3','2'};
- while (cin >> id) {
- // 1. 长度必须为18
- if (id.length() != 18) {
- cout << "ID Wrong" << endl;
- continue;
- }
- // 2. 检查前17位是否全为数字
- bool valid = true;
- long long sum = 0;
- for (int i = 0; i < 17; i++) {
- if (!isdigit(id[i])) {
- valid = false;
- break;
- }
- sum += (id[i] - '0') * weight[i];
- }
- if (!valid) {
- cout << "ID Wrong" << endl;
- continue;
- }
- // 3. 处理第18位:转为大写(兼容小写x)
- char last = id[17];
- if (last == 'x' || last == 'X') {
- last = 'X'; // 统一为大写
- } else if (!isdigit(last)) {
- cout << "ID Wrong" << endl;
- continue;
- }
- // 4. 计算校验位
- int mod = sum % 11;
- char expected = checkCode[mod];
- // 5. 比较
- if (last == expected) {
- cout << "ID Corrent" << endl; // 注意:题目拼写是 Corrent(不是 Correct)
- } else {
- cout << "ID Wrong" << endl;
- }
- }
- return 0;
- }
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)