12 条题解

  • 0
    @ 2024-12-26 21:00:49

    标题

    37的题解

    思路

    一种很简单的方法,把 a37a*37 后得到的数记为 aa',令 ppa mod 10a'\ mod\ 10 (其中mod表示对取模数) 只要把aa'不断地除以 1010,判断新的数 mod 10mod\ 10pp 是否相等即可

    复杂度

    时间复杂度:

    O(log10n)O(log_{10}n) 我们期间不断对 aa'/10/10 操作很好理解

    Code

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int a;
        cin>>a;
        a*=37;
        int p=a%10;
        while(a)
        {
            if(a%10 != p)
            {
                cout<<"No";
                return 0;
            }
            a/=10;
        }
        cout<<"Yes";
        return 0;
    }
    

    信息

    ID
    40
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    959
    已通过
    456
    上传者