机试刷题记录 2023-7-6

这篇具有很好参考价值的文章主要介绍了机试刷题记录 2023-7-6。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

A+B问题

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

输入A,B
输出A+B
-1,000,000,000<=A,B<=1,000,000,000

输入输出格式
输入描述:
输入包含两个整数A,B,用一个空格分隔。
输出描述:
输出一个整数,表示A+B的值。
输入输出样例
输入样例:
5 8
输出样例:
13
题目来源
计算机考研机试入门题
# include<iostream>
using namespace std;
int main(){
    int A =0;
    int B=0;
    cin>>A;
    cin>>B;
    cout<<A+B<<endl;
    return 0;
}

计算Sn

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。 例如:2+22+222+2222+22222(n=5),

输入输出格式
输入描述:
输入两个数.第一个为a  ,第二个为n(表示有多少个数相加),其中a和n都是大于1且小于10的整数.
输出描述:
输出其和.
输入输出样例
输入样例:
2 5
输出样例:
24690
题目来源
北京大学机试题
#include <iostream>
using namespace std;

int main() {
    int a, n;
    cin >> a >> n;

    int result = 0; // 用于保存和的变量
    int current_term = a; // 当前项的值,初始为a

    for (int i = 0; i < n; i++) {
        result += current_term;
        current_term = current_term * 10 + a; // 下一项的值等于当前项乘以10再加上a
    }

    cout << result << endl;
    return 0;
}

字符串翻转

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

给定一个字符串,反序输出。

输入输出格式
输入描述:
输入一个字符串在单独的一行,字符串长度<100。
输出描述:
将字符串反序输出。
输入输出样例
输入样例:
Guiyang
输出样例:
gnayiuG
题目来源
贵州大学2018机试
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    getline(cin, str);

    // 反序输出字符串
    for (int i = str.length() - 1; i >= 0; i--) {
        cout << str[i];
    }

    cout << endl;
    return 0;
}

01序列

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

对于长度为6位的一个01串,每一位都可能是0或1,一共有64种可能。它的前几个是:
000000
000001
000010
000011
000100
请按从小到大的顺序输出这64种01串。

输入输出格式
输入描述:
 
输出描述:
输出64行,每行一个01串。
输入输出样例
输入样例:
输出样例:
题目来源
计算机考研机试入门题
#include <iostream>
using namespace std;

int main() {
    int count = 0; // 用于计数,每10个数换行
    for (int num = 100; num <= 1000; num++) {
        if (num % 5 == 0 && num % 6 == 0) {
            cout << num << " ";
            count++;
            if (count % 10 == 0) {
                cout << endl;
            }
        }
    }

    return 0;
}

求1到n的和

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

输入一个整数n,请你求出1+2+3+4+....+n的和是多少?

输入输出格式
输入描述:
输入一个整数n
输出描述:
输出1到n的和是多少
n<=100
输入输出样例
输入样例:
5
输出样例:
15
题目来源
北京大学机试题
#include <iostream>
#include <string>
using namespace std;

int main() {

    int n,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        sum+=i;
    }
    cout<<sum;

    return 0;
}

整除

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

输出100到1000之间能被5和6同时整除的数,输出格式为每10个数为一行。

输入输出格式
输入描述:
无输入
输出描述:
按题目意思输出,相邻两个数之间用空格隔开(注意每一行末尾没有空格)
输入输出样例
输入样例:
输出样例:
(输出题目答案)
题目来源
贵州大学2018机试
#include <iostream>
using namespace std;

int main() {
    int count = 0; // 用于计数,每10个数换行
    for (int num = 100; num <= 1000; num++) {
        if (num % 5 == 0 && num % 6 == 0) {
            cout << num << " ";
            count++;
            if (count % 10 == 0) {
                cout << endl;
            }
        }
    }

    return 0;
}

排序

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

输入n个数进行排序,要求先按奇偶后按从小到大的顺序排序。

输入输出格式
输入描述:
第一行输入一个整数n,表示总共有多少个数,n<=1000。
第二行输入n个整数,用空格隔开。
输出描述:
输出排序之后的结果。
输入输出样例
输入样例:
8
1 2 3 4 5 6 7 8
输出样例:
1 3 5 7 2 4 6 8
题目来源
兰州大学2018/贵州大学2018年机试
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1010;
int n, a[N];

int main(){
    // 输入数组长度和每个数的值
    cin >> n;
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }

    // 对数组进行排序,sort默认使用升序排序
    sort(a, a + n);

    // 先输出所有奇数
    for (int i = 0; i < n; ++i) {
        if (a[i] % 2 == 1) cout << a[i] << " ";
    }

    // 再输出所有偶数
    for (int i = 0; i < n; ++i) {
        if (a[i] % 2 == 0) cout << a[i] << " ";
    }

    return 0;
}

字符移动

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

输入一个字符串,将其中的数字字符移动到非数字字符之后,并保持数字字符和非数字字符输入时的顺序。例如:输入字符串“ab4f35gr#a6”,输出为“abfgr#a4356”。

输入输出格式
输入描述:
输入一行字符串,长度小于100。
输出描述:
输出结果。
输入输出样例
输入样例:
ab4f35gr#a6
输出样例:
abfgr#a4356
题目来源
贵州大学机试题
#include <iostream>
#include <string>
using namespace std;

int main() {
    string input;
    getline(cin, input);

    string digits = "";
    string nonDigits = "";

    // 将数字字符和非数字字符分别存储在两个字符串中
    for (char c : input) {
        if (isdigit(c)) {
            digits += c;
        } else {
            nonDigits += c;
        }
    }

    // 拼接非数字字符和数字字符
    string output = nonDigits + digits;

    cout << output << endl;

    return 0;
}

罗马数字

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

机试刷题记录 2023-7-6,华为od,华为,算法

输入输出格式
输入描述:
一行十进制整数
输出描述:
一行字符串,表示对应的罗马数字
输入输出样例
输入样例#:

复制

3
输出样例#:

复制

III
题目来源
华东师范大学2022年机试
#include <iostream>
#include <vector>
using namespace std;

class Test{
public:
    vector<int> rome = {1, 5, 10, 50, 100, 500, 1000};
    vector<int> decimal = {1, 1, 10, 10, 10, 100, 1000};
    vector<string> romeString = {"I", "V", "X", "L", "C", "D", "M"};

    string getRealValue(int num) {
        int i = rome.size() - 1;
        int count = 0;
        string ret = "";
        while (num > 0) {
            count = num / rome[i];
            int countD = num / decimal[i];

            if (count > 0)
                if (countD == 9 || countD == 4) {
                    if (i == 0) i++;
                    ret += romeString[i - 1] + (countD == 4 ? romeString[i] : romeString[i + 1]);
                    num = num - rome[i - 1] * countD;
                } else {
                    for (int j = 0; j < count; j++) {
                        ret += romeString[i];
                    }
                    num = num - rome[i] * count;
                }
            i--;
        }
        return ret;
    }
};

int main() {
    int input=0;
    cin>>input;

    // "III"  "IV"  "IX"  "LVIII" "MCMXCIV"

    Test s1;
    cout << s1.getRealValue(input) << endl;

    return 0;
}

数字统计

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数。
比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出现 1次,
在数 21 中出现 1次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6次。

输入输出格式
输入描述:
2个正整数 L 和 R,之间用一个空格隔开。
1≤L≤R≤100000
输出描述:
数字 2 出现的次数。
输入输出样例
输入样例:
2 100
2 22
输出样例:
20
6
题目来源
兰州大学机试题
#include <iostream>
#include <string>
using namespace std;

int main() {

    int L,R=0;
    string str=" ";
    cin>>L>>R;
    int count=0;
    for(int i=L;i<=R;i++){
        for(char c:to_string(i)){
            if(c=='2')
                count+=1;
        }
    }
    cout<<count;
    return 0;
}

日期

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

今天是2012年4月12日星期四,编写程序,输入今天开始到12月31日之间的任意日期,输出那一天是星期几。例如输入“5(回车)20(回车)”(5月20日),输出应为“Sunday”。

输入输出格式
输入描述:
输入第一行为月份。
输入第二行为这个月的第几天。
输出描述:
输入这一天是星期几。
输入输出样例
输入样例#:
5
20
输出样例#:
Sunday
题目来源
贵州大学机试题
#include <iostream>
#include <string>
using namespace std;
int main(){
    int m,d,sum =0;
    string week[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
    cin>>m>>d;
    for(int i = 4;i<m;i++){
        if((i<=7&&i%2!=0)||(i>7&&i%2==0))
            sum+=31;
        else
            sum+=30;
    }
    sum -=12;
    sum +=d;
    cout<<week[(sum+3)%7];
    return 0;
}

判断素数

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

输入一个整数,判断该整数是否为素数,若是,输出该整数,若否,输出大于该整数的第一个素数。(例如,输入为14,输出17,因为17是大于14的第一个素数)文章来源地址https://www.toymoban.com/news/detail-542974.html

输入输出格式
输入描述:
输入一个整数n,n最大为10000。
输出描述:
按题意输出。
输入输出样例
输入样例:
14
输出样例:
17
题目来源
贵州大学机试题
#include <iostream>
#include <cmath>

using namespace std;

//遍历 2 到根号 n 的数,判断 n 是否能被它们整除。如果 n 能被任意一个数整除,则 n 不是素数;否则 n 是素数
bool is_prime(int n) {
    if (n <= 1) return false;
    for (int i = 2; i <= sqrt(n); i++) {
        if (n % i == 0) return false;
    }
    return true;
}

int main() {
    int n=0;
    cin>>n;
    if(is_prime(n)) cout << n;
    if(!is_prime(n)){
        int m=n;
        while(!is_prime(m)){
            m+=1;
        }
        cout<<m;
    }
}

到了这里,关于机试刷题记录 2023-7-6的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为OD机试 - 五键键盘(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】

    有一个特殊的五键键盘 上面有 A 、 Ctrl-C 、 Ctrl-X 、 Ctrl-V 、 Ctrl-A A 键在屏幕上输出一个字母 A Ctrl-C 将当前所选的字母复制到剪贴板 Ctrl-X 将当前选择的字母复制到剪贴板并清空所选择的字母 Ctrl-V 将当前剪贴板的字母输出到屏幕 Ctrl-A 选择当前屏幕中所有字母 注意: 剪贴板

    2024年02月09日
    浏览(39)
  • 华为OD机试 -矩阵最大值(Java) | 机试题+算法思路+考点+代码解析 【2023】

    给定一个仅包含0和1的N*N二维矩阵,请计算二维矩阵的最大值,计算规则如下: 1、 每行元素按下标顺序组成一个二进制数(下标越大越排在低位),二进制数的值就是该行的值。矩阵各行值之和为矩阵的值。 2、允许通过向左或向右整体循环移动每行元素来改变各元素在行中

    2024年02月13日
    浏览(53)
  • 华为OD机试 - 机器人走迷宫(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】

    房间有 X*Y 的方格组成,例如下图为 6*4 的大小。每一个放个以坐标 (x,y) 描述。 机器人固定从方格 (0,0) 出发,只能向东或者向北前进, 出口固定为房间的最东北角,如下图的方格 (5,3) 。 用例保证机器人可以从入口走到出口。 房间有些方格是墙壁,如 (4,1) ,机器人不能经过那

    2023年04月12日
    浏览(39)
  • 华为OD机试 - 最长的顺子 - 感谢@禁止你发言提供的更简便算法(Java 2023 B卷 200分)

    华为OD机试 2023B卷题库疯狂收录中,刷题 点这里 本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。 刷的越多,抽中的概率越大 ,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。 斗地主起源于湖北十堰房县,据说是

    2024年02月07日
    浏览(38)
  • 华为OD机试 - 五键键盘 | 备考思路,刷题要点,答疑 【新解法】

    【新解法】华为OD机试 - 关联子串 | 备考思路,刷题要点,答疑,od Base 提供 【新解法】华为OD机试 - 停车场最大距离 | 备考思路,刷题要点,答疑,od Base 提供 【新解法】华为OD机试 - 任务调度 | 备考思路,刷题要点,答疑,od Base 提供 【新解法】华为OD机试 - 英文输入法

    2024年02月09日
    浏览(36)
  • 华为OD机试(含B卷)真题2023 算法分类版,58道20个算法分类,如果距离机考时间不多了,就看这个吧,稳稳的

    很多小伙伴问我,华为OD机试算法题太多了,知识点繁杂,如何刷题更有效率呢? 我觉得可以按照“算法和数据结构”去刷,把华为OD机试涉及到的“算法和数据结构”列出来,一个算法刷10道题,那我岂不是无敌了? 首先,了解算法和数据结构有哪些知识点,在后面的刷题

    2024年02月14日
    浏览(36)
  • 【华为 OD 机考 C 卷 & D卷】11月份华为od机试 C 卷 & D卷 已来 ,如何刷题?

    2023年11月份,华为官方已经将 华为OD机考:OD统一考试(A卷 / B卷)切换到 OD统一考试(C卷)和 OD统一考试(D卷) 。 目前在考C卷,经过两个月的收集整理, C卷真题已基本整理完毕 抽到原题的概率为2/3到3/3, 也就是最少抽到两道原题。 请注意:大家刷完C卷真题,最好要把

    2024年02月04日
    浏览(40)
  • 【华为OD机试】-2023真题

    A+B卷 专栏:华为OD机试(Python,Java,C++)2023(A+B卷) python专栏: 华为od机试(python)2023(A卷) 博主通信专业学硕,10年+互联网大厂经验,精通C++,Python,自学Java,热爱编程,乐于经验分享,已帮助千余名同学通过OD机考。 2023年5月,华为OD机考更新为 OD统一考试(B卷) 。 B卷的题目

    2023年04月25日
    浏览(69)
  • 【华为OD机试 真题2023 Q1】

    2023 Q1 新题库,实时更新中 !!!!!

    2023年04月12日
    浏览(62)
  • 华为OD机试(2022&2023)考点分类

    字符串、数组、集合操作 此考点大部分不涉及算法,旨在考察编程语言基础语法的应用 考卷 分值 题目 考点 or 实现 在线OJ C卷

    2023年04月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包