zoukankan      html  css  js  c++  java
  • HDU 5690 All X 数学

    All X

    题目连接:

    http://acm.hdu.edu.cn/showproblem.php?pid=5690

    Description

    F(x,m) 代表一个全是由数字x组成的m位数字。请计算,以下式子是否成立:

    F(x,m) mod k ≡ c

    Input

    第一行一个整数T,表示T组数据。
    每组测试数据占一行,包含四个数字x,m,k,c

    1≤x≤9

    1≤m≤1010

    0≤c<k≤10,000

    Output

    对于每组数据,输出两行:
    第一行输出:"Case #i:"。i代表第i组测试数据。
    第二行输出“Yes” 或者 “No”,代表四个数字,是否能够满足题目中给的公式。

    Sample Input

    3
    1 3 5 2
    1 3 5 1
    3 5 99 69

    Sample Output

    Case #1:
    No
    Case #2:
    Yes
    Case #3:
    Yes

    Hint

    题意

    题解:

    10^m-1 = 999999

    10^m-1 / 9 * x = xxxxxxxxxx

    ((10^m)%9k - 1)/9*x%k = xxxxxxxxx%k

    所以直接快速幂莽一波

    代码

    #include<bits/stdc++.h>
    using namespace std;
    
    long long quickpow(long long  m,long long n,long long k)//返回m^n%k
    {
        long long b = 1;
        while (n > 0)
        {
              if (n & 1)
                 b = (b*m)%k;
              n = n >> 1 ;
              m = (m*m)%k;
        }
        return b;
    }
    int x,k,c;
    long long m;
    void solve(int cas)
    {
        scanf("%d%lld%d%d",&x,&m,&k,&c);
        int r = (quickpow(10,m,k*9)-1)/9*x%k;
        c%=k;
        printf("Case #%d:
    ",cas);
        if(r==c)printf("Yes
    ");
        else printf("No
    ");
    }
    int main()
    {
        int t;
        scanf("%d",&t);
        for(int i=1;i<=t;i++)
            solve(i);
        return 0;
    }
  • 相关阅读:
    css清除浮动
    对象遍历
    vue 小工具
    数据库优化-聚合索引
    mysql修改唯一索引
    输出带pre的调试信息
    mysql的group by优化跟limit优化
    地址联动数据抓取
    php7新特新
    linux同步系统时间
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5516134.html
Copyright © 2011-2022 走看看