AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 校园
  • 应用
  • 文章
    • 题解
    • 分享
    • 问答
  • 吐槽
  • 登录/注册

21考研XJTU软件编程题

作者: 作者的头像   acwing_zfw ,  2021-09-02 13:30:46 ,  所有人可见 ,  阅读 195


1


1

一、马鞍点

题目链接

#include <iostream>

using namespace std;

const int N = 15;
int g[N][N], n, m;

bool is_maan(int a, int b)
{
    int x = a, y = b;
    for (int i = 1; i <= n; i ++)
        if (g[i][b] < g[a][b])    // 在该列最小
            return false;
    for (int j = 1; j <= m; j ++)
        if (g[a][j] > g[a][b])    // 在该行最大
            return false;
    return true;
}

int main()
{
    cin >> n >> m;
    for (int i = 1; i <= n; i ++)
        for (int j = 1; j <= m; j ++)
            scanf("%d", &g[i][j]);

    bool flag = false;
    for (int i = 1; i <= n; i ++)
        for (int j = 1; j <= m; j ++)
            if (is_maan(i, j))
            {
                printf("%d %d %d\n", i, j, g[i][j]);
                flag = true;
            }

    if (!flag) puts("NO");

    return 0;
}

在这里插入图片描述

二、完美数

问题描述

完美数的定义——如果一个大于$1$ 的正整数的所有因子之和等于它的本身,则称这个数是完美数,比如 $6$,$28$ 都是完数:$6=1+2+3$;$28=1+2+4+7+14$。同时完全数也满足$2^{p-1}(2^p-1)$的形式,其中$p$为素数,例如:$6=2^1(2^2-1)$

输入说明

给定一个正整数$n$

输出说明

输出两行,如果 $n$ 是完美数,返回 $true$,否则返回 $false$,并在第二行按照从小到大的顺输出 $10000$ 内的完全数(以空格分隔)。

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>

using namespace std;

bool is_perfect(int n)
{
    int res = 0;
    for (int i = 1; i < n; i ++)
        if (n % i == 0)
            res += i;
    return res == n;
}

bool is_prime(int x)  // 判定质数
{
    if (x < 2) return false;
    for (int i = 2; i <= x / i; i ++ )
        if (x % i == 0)
            return false;
    return true;
}

int main()
{
    int n;
    cin >> n;
    if (is_perfect(n)) puts("true");
    else puts("false");

    for (int i = 1; i <= 10000; i ++)
        if (is_prime(i)) 
            cout << pow(2, i - 1) * (pow(2, i) - 1) << endl;

    return 0;
}

在这里插入图片描述

三、机器人的复制

问题描述

虚拟机器人复制,第一天生产一个成熟机器人,成熟机器人每天可生产一个新机器人,新机器人 $3$ 天可变成成熟机器人,机器人个数和天数的关系如下:

天数 1 2 3 4 5 6
机器人数 1 2 3 4 6 9

输入描述

第 $n$ 天($n<=100$ 的自然数)

输出描述

第 $n$ 天时机器人总数

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 110;
int n, f[N];

int main()
{
    cin >> n;
    for (int i = 0; i <= 3; i ++)
        f[i] = i;
    for (int i = 4; i <= 100; i ++)
        f[i] = f[i - 4] + f[i - 1] + 1;
    cout << f[n] << endl;

    return 0;
}

在这里插入图片描述
在这里插入图片描述

10 评论


用户头像
一只野生彩色铅笔   8个月前     回复

$latex$ 语法用两个dollar符号夹住就可以显示了,两边不要加代码块的`

用户头像
acwing_zfw   8个月前     回复

感谢提醒,不过这块不知道咋回事,去了代码块的符号,就成这样了⬆️,不过在别的md上倒是正常的


用户头像
TaoZex   8个月前     回复

学弟加油!

用户头像
acwing_zfw   8个月前     回复

创新港学长嘛 WoW

用户头像
TaoZex   8个月前    回复了 acwing_zfw 的评论     回复

软件的,今年软件都不在创新港了,研二可能回去。

用户头像
acwing_zfw   8个月前    回复了 TaoZex 的评论     回复

确实 今年软件去兴庆了 学长你看这三编程题题目大致对着不 在网上找的回忆版 不知道准确性如何

用户头像
TaoZex   8个月前    回复了 acwing_zfw 的评论     回复

都准确的,专业课复习重点放在数据结构大题上(比较拉分差),大家代码题普遍都能达到分数。

用户头像
acwing_zfw   8个月前    回复了 TaoZex 的评论     回复

了解!感谢学长!

用户头像
TaoZex   8个月前    回复了 acwing_zfw 的评论     回复

客气


用户头像
acwing_zfw   8个月前     回复

题面的markdown就是一直显示不正常,难受


你确定删除吗?
1024
x

© 2018-2022 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息