zoukankan      html  css  js  c++  java
  • hdu 5690 All x

    All X
    
    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
    Total Submission(s): 1472    Accepted Submission(s): 658
    
    
    Problem 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
    
    对于第一组测试数据:111 mod 5 = 1,公式不成立,所以答案是”No”,而第二组测试数据中满足如上公式,所以答案是 “Yes”。

    分析:

    这道题对我来说简直惊艳:

     m个x用数学公式表示:[(10^m)-1]/9*x·························@1

    所以题目中的问题用数学公式表示:

    @1%k=c?

    因为/9会产生精度的损失,所以我们把上式两边同时乘以9:

    [(10^m)-1)]*x%9k=9*c?···································@2

    于是,我们可以用快速幂+取模计算,并得到答案。

    这里强调一条性质:(a*b)%c<===>(a%c * b%c) %c

    #include<iostream>
    #include<stdio.h>
    using namespace std;
    long long fast_exp(int base,long long exp,int mod)
    {
        long long ans=1LL,a=base;
        while(exp!=0)
        {
            if(exp&1LL) ans*=a,ans%=mod;
            a*=a,a%=mod;
            exp>>=1;
        }
        return ans%mod;
    }
    int main()
    {
        int t;
        scanf("%d",&t);
        int cas=1;
        while(t--)
        {
            int x,k,c;
            long long m;
            scanf("%d%I64d%d%d",&x,&m,&k,&c);
            long long tmp=fast_exp(10,m,0x3f3f3f3f);
            //cout<<tmp<<endl;
            long long ans= (fast_exp(10,m,9*k)-1)%(9*k);
            printf("Case #%d:
    ",cas++);
            if(((ans*x)%(9*k))==c*9)
                printf("Yes
    ");
            else
                printf("No
    ");
    
        }
    }
    View Code
  • 相关阅读:
    redis sentinel(哨兵)配置解读
    配置哨兵监控Redis运行情况
    java 客户端链接不上redis解决方案
    Redis配置主从架构,实现读写分离
    Redis简介,安装和配置,停止,卸载(图解方式)
    linux下监控用户的操作记录---录像播放性质
    Spring的数据库开发
    Spring中Bean的作用域、生命周期
    Spring中Bean的实例化
    Spring之初体验
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/5768429.html
Copyright © 2011-2022 走看看