zoukankan      html  css  js  c++  java
  • hdu 6063 RXD and math(快速幂)

    RXD and math

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)
    Total Submission(s): 568    Accepted Submission(s): 306

    Problem Description
    RXD is a good mathematician.
    One day he wants to calculate:
    i=1nkμ2(i)×nki−−−√

    output the answer module 109+7.
    1n,k1018
    μ(n)=1(n=1)

    μ(n)=(1)k(n=p1p2pk)

    μ(n)=0(otherwise)

    p1,p2,p3pk are different prime numbers
    Input
    There are several test cases, please keep reading until EOF.
    There are exact 10000 cases.
    For each test case, there are 2 numbers n,k.
     
    Output
    For each test case, output "Case #x: y", which means the test case number and the answer.
    Sample Input
    10 10
     
    Sample Output
    Case #1: 999999937
    Source
     
    Recommend
    liuyiding   |   We have carefully selected several similar problems for you:  6066 6065 6064 6063 6062 

    题解:n^k % mod

    注意 :n因为非常大所以在开始就要先用 mod 运算一遍

    #include <iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<cmath>
    #include<queue>
    #include<map>
    #include<vector>
    using namespace std;
    const long long m=1e9+7;
    long long n,k;
    long long solve(long long a,long long b)
    {
        a=a%m;
       long long ans=1;
       while(b)
       {
           if (b&1)ans=(ans*a)%m;
           b>>=1;
           a=(a*a)%m;
       }
       return ans;
    }
    int main()
    {
        int cas=0;
        while(scanf("%lld%lld",&n,&k)!=EOF)
        {
            printf("Case #%d: %lld
    ",++cas,solve(n,k));
        }
        return 0;
    }
  • 相关阅读:
    每日作业
    Bootstrap框架
    每日作业
    前端之jQuery
    css之浮动详解
    sh命令
    shell编程:sed的选项
    linux 创建连接命令 ln -s 软链接
    grep与egrep命令
    Centos之命令搜索命令whereis与which
  • 原文地址:https://www.cnblogs.com/stepping/p/7272756.html
Copyright © 2011-2022 走看看