袁愈权


私信TA

用户名:dotcpp0787148

访问量:239

签 名:

原神玩家不会轻易认输!

等  级
排  名 651
经  验 4046
参赛次数 3
文章发表 41
年  龄 19
在职情况 学生
学  校 贺州学院
专  业 网络工程

  自我简介:

本人原神,崩铁玩家。

解题思路:   注意输入中间有一个逗号,一开始没注意错的都让我怀疑题目有问题了,呜呜呜

注意事项:

参考代码:

#include"bits/stdc++.h"
using namespace std;
// 定义全局变量,用于存储输入的k和x以及中间计算结果数组a, b, c, d
long long k, x, a[1005], b[1005], c[1005], d[1005];
int main() {
    char s; // 定义字符变量s,用于接收输入的字符
    cin >> k >> s >> x; // 从标准输入读取k, s和x的值
    b[0] = k; // 初始化b数组的第一个元素为k
    c[0] = k; // 初始化c数组的第一个元素为k
    for (int i = 1; i <= 1000; i++) { // 循环1000次,生成序列
        b[i] = 3 * b[i - 1] + 1; // 根据公式计算b数组的第i个元素
        c[i] = 2 * c[i - 1] + 1; // 根据公式计算c数组的第i个元素
        a[i] = 2 * b[i - 1] + 1; // 根据公式计算a数组的第i个元素
        d[i] = 3 * c[i - 1] + 1; // 根据公式计算d数组的第i个元素
        if (b[i] == x || c[i] == x || a[i] == x || d[i] == x) { // 检查是否有任何一个数组的元素等于x
            cout << "YES"; // 如果找到匹配的元素,输出"YES"
            break; // 退出循环
        } else if (i == 1000) { // 如果循环到最后一次仍未找到匹配的元素
            cout << "NO"; // 输出"NO"
        }
    }
    return 0; // 返回0,表示程序正常结束
}


 

0.0分

0 人评分

  评论区

  • «
  • »