中国电信笔试 中国电信秋招 0912

笔试时间:2025年9月12日

往年笔试合集:

2023春招秋招笔试合集

2024春招秋招笔试合集

第一题

对于给定的整数 n,判断它是不是一个两位数。是则输出 YES,否则输出 NO。

输入描述

在一行上输入一个整数 n。

输出描述

输出 YES 或 NO。

样例输入

10

样例输出

YES

参考题解

解题思路:

判断一个整数是否为两位数,即判断是否在 [10, 99] 范围内。两位数是指大于等于10且小于等于99的整数。

C++:

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    
    if (n >= 10 && n <= 99) {
        cout << "YES" << endl;
    } else {
        cout << "NO" << endl;
    }
    
    return 0;
}

Java:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        if (n >= 10 && n <= 99) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }
        
        sc.close();
    }
}

Python:

n = int(input())
if n >= 10 and n <= 99:
    print("YES")
else:
    print("NO")

第二题

小红有三个不同的字母,分别为 'R'(RED)、'G'(GREEN)、'B'(BLUE),但顺序被打乱了。她希望通过交换任意两个字母的位置,将序列恢复为 'R'、'G'、'B' 的顺序。请问最少需要多少次交换?

输入描述

在一行上输入三个字母,这三个字母恰好是 'R'、'G'、'B' 各一个。

输出描述

输出一个整数,表示最少需要多少次交换。

样例输入

R G B

样例输出

0

参考题解

解题思路:

根据当前序列中已经处于正确位置的字母数量来判断:

  • 3个字母都在正确位置:不需要交换,次数为0
  • 1个字母在正确位置:只需交换1次
  • 0个字母在正确位置:这是三元素轮换,需要2次交换
  • 不可能出现恰好2个字母在正确位置的情况

C++:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string letters[3];
    cin >> letters[0] >> letters[1] >> letters[2];
    
    string target[3] = {"R", "G", "B"};
    
    int correctPositions = 0;
    for (int i = 0; i < 3; i++) {
        if (letters[i] == target[i]) {
            correctPositions++;
        }
    }
    
    if (correctPositions == 3) {
        cout << 0 << endl;
    } else if (correctPositions == 1) {
        cout << 1 << endl;
    } else if (correctPositions == 0) {
        cout << 2 << endl;
    }
    
    return 0;
}

Java:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] letters = new String[3];
        letters[0] = sc.next();
        letters[1] = sc.next();
        letters[2] = sc.next();
        
        String[] target = {"R", "G", "B"};
 

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2025 春招笔试合集 文章被收录于专栏

2025打怪升级记录,大厂笔试合集 C++, Java, Python等多种语言做法集合指南

全部评论

相关推荐

09-18 20:41
百度_Java
要个offer怎么这...:哈哈哈哈哈哈,我也拿了0x10000000个offer,秋招温啦啦啦,好开心
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务