OPPO嵌入式提前批笔试

【嵌入式未来】

《嵌入式软件开发笔试与面试手册》https://blog.nowcoder.net/zhuanlan/jvN8gj

《嵌入式软件笔试-2023年真题汇总》https://blog.nowcoder.net/zhuanlan/0oDWVm

第一题:小欧的平均数

小欧有三个数x,y,z,小欧想要令三个数平衡,那么小欧需要先选定其中任意两个数,并获得他们的平均数K,若这两个数的平均数不是整数,则K不是整数,即小欧必须更换他的选择,否则三数无法平衡。当选定了两个数后,接下来小欧可以进行若干次如下操作之一:

1.令剩余的那个数+1.

2.令剩余的那个数-1

小欧想知道令三数平衡的最小操作数是多少?

 

输入描述

一行三个整数x,y,z(1<x,y,z<=10^9)

输出描述

一行一个整数,表示最小操作数。

 

示例1

输入

3 3 4

输出

1

#include <iostream>
using namespace std;

int main() {
    int x, y, z;
    cin >> x >> y >> z;  

    // 因为任意两个整数的平均数是整数当且仅当这两个整数的奇偶性相同(即都是偶数或都是奇数)。
    // 所以问题就变成了使x, y, z的奇偶性相同的最小操作次数。

    int even_cnt = 0;  // 用于计数偶数的数量

    // 判断每个数是否为偶数,如果是,则计数器加一
    if (x % 2 == 0) even_cnt++;
    if (y % 2 == 0) even_cnt++;
    if (z % 2 == 0) even_cnt++;

    // 这里的最小操作次数可以是让所有的数都变成偶数,也可以是让所有的数都变成奇数。
    // 要使所有的数都变成偶数,操作次数就是奇数的数量(3 - even_cnt),
    // 要使所有的数都变成奇数,操作次数就是偶数的数量(even_cnt)。
    // 因此,最小操作次数就是这两者中的最小值。
    cout << min(3 - even_cnt, even_cnt) << endl;

    return 0;
}

第二题:组装手机

小欧是手机外壳供应商,小蕊是手机零件供应商。小欧已经生产了n个手机外壳,第i个手机外壳售价ai元,小蕊生产了n个手机零件,第i个手机零件售价bi元。

在组装手机中,一个手机外壳与一个手机零件可以组装成一个手机,手机的售价为手机外壳售价与手机零件售价之和。

他们需要选出一些外壳和零件,配对形成若干部手机,要求这些手机的售价全部相同。小欧想知道他们最多可以组装多少部手机?

 

输入描述

第一行一个整数n(1<=n<=1000)

第二行n个整数ai(1<=ai<=1000)

第三行n个整数bi(1<=bi<=1000)

输出描述

一行一个整数,表示最大数量。

 

示例1

输入

4

1 2 3 4

1 2 4 5

输出

3

#include <iostream>
#include <vector>
#include <alg

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

本专栏主要发布嵌入式软件开发相关岗位2023年(2024届)的笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、数据开发、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。

全部评论
m
点赞 回复 分享
发布于 2023-08-01 21:03 北京
可以使用本地ide吗
点赞 回复 分享
发布于 2023-08-01 21:54 江苏
楼主是什么岗啊
点赞 回复 分享
发布于 2023-08-02 00:13 广东

相关推荐

3 20 评论
分享
牛客网
牛客企业服务