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

注意事项:

参考代码:

#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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论