1 条题解

  • 2
    @ 2024-8-19 20:15:00

    这道题的关键在于判断给定的数是否是臭数。根据题目描述,1145141919810 是臭数,其中 114514 的倍数也是臭数,而 1919810 的倍数却不是臭数。

    解题思路:

    1. 如果输入的数是 114514 的倍数或者是 1919810,则输出 Yes
    2. 否则,输出 No

    使用 C++ 实现代码如下:

    #include <iostream>
    
    using namespace std;
    
    int main() {
        long long x;
        cin >> x;
        
        if (x % 114514 == 0 || x == 1919810) {
            cout << "Yes" << endl;
        } else {
            cout << "No" << endl;
        }
        
        return 0;
    }
    

    代码说明:

    1. 输入一个整数 x
    2. 判断 x 是否是 114514 的倍数(x % 114514 == 0)或 x 是否等于 1919810
    3. 如果满足上述条件之一,输出 Yes,否则输出 No

    复杂度分析:

    • 该算法的时间复杂度是 O(1)O(1),因为只涉及简单的取模运算和比较操作。
    • 由于输入数值范围在 0x10180 \leq x \leq 10^{18} 之间,使用 long long 类型来存储和运算是足够的。

    这个方法直接而高效,非常适合解决这个臭问题。

    • 1

    信息

    ID
    906
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    (无)
    递交数
    11
    已通过
    4
    上传者