【每日编程-359期】杭州电子科技大学上机题(一)

教育   2024-11-18 10:02   广西  

杭州电子科技大学上机题(一)


每日编程中遇到任何疑问、意见、建议请公众号留言或加入每日编程群聊739635399



关羽过关斩三将,输入四个人的武力值(大于0小于50),若超过界限需要重新输入,关羽的武力值x,将士武力值为y,满足(x-y)^2+(x-y)+41 若为素数则关羽获胜,若关羽三次获胜输出 WIN,若失败则输出失败的将领序号(第几关)。

输入格式:

四个人的武力值

输出格式:

WIN或者失败将领的序号

输入样例:


40 20 30 20

输出样例:

WIN

解决方法:

(1)算法的基本思想:

本题主要解决两个问题:

a.素数的定义:在大于1的自然数中,除了1和它本身以外不再有其他因数

b.判断武力值是否满足条件

(2)代码实现:

#include 
using namespace std;
int countNum = 1//记录关羽过的关数
//判断武力值是否合乎标准
bool judge(int force)
{
    if (force > 0 && force < 50)
        return true;
    return false;
}
bool isPrime(int n)
{
    if (n == 1)
        return false;
    if (n == 2)
        return true;
    // 所有偶数都不是素数
    if (n % 2 == 0)
        return false;
    // 只需要检查奇数
    for (int i = 3; i < n; i += 2)
        if (n % i == 0)
            return false;
    return true;
}
//判断是否通过当前关卡
bool passNum(int x, int y)
{
    int sum = (x - y) * (x - y) + (x - y) + 41;
    if (isPrime(sum))
        return true;
    return false;
}
int main()
{
    cout << "输入关羽和将士的武力值:";
    int x = 0, y1 = 0, y2 = 0, y3 = 0;
    cin >> x >> y1 >> y2 >> y3;
    //有一个不合乎标准则需要重新输入
    while (!judge(x) || !judge(y1) || !judge(y2) || !judge(y3))
    {
        cout << "重新输入关羽和将士的武力值:";
        cin >> x >> y1 >> y2 >> y3;
    }
    if (!passNum(x, y1))
    { //未通过,必须一关一关的过
        cout << countNum << endl;
        system("pause");
        return 0;
    }
    countNum++;
    if (!passNum(x, y2))
    {
        cout << countNum << endl;
        system("pause");
        return 0;
    }
    countNum++;
    if (!passNum(x, y3))
    {
        cout << countNum << endl;
        system("pause");
        return 0;
    }
    else
        cout << "WIN" << endl;
    system("pause");
    return 0;
}

明日预告:杭州电子科技大学上机题(二)

输入N个员工,每个员工输出ID号,上班时间,下班时间,
第一行输出最早去的员工的ID和上班时间
第二行输出最迟走的员工的ID和下班时间
第三行输出工作最久的员工的ID和上班时间

输入样例:

ID100001 07:00:00 17:00:00
ID100002 08:00:00 18:00:00
ID100003 09:00:00 21:00:00

输出样例:

OPEN:ID100001, 07:00:00
CLOSE:ID100003, 21:00:00
LONGEST WORK TIME ID:ID100003, 09:00:00



灰灰考研
最全的【计算机考研】【软件考研】考研信息! 最丰富的共享资料! 最大程度上帮助学渣狗登上研究生大门!
 最新文章