zoukankan      html  css  js  c++  java
  • 2021寒假每日一题《a^b》

    a^b

    题目来源:《算法竞赛进阶指南》
    时间限制:(1000ms) 内存限制:(32mb)

    题目描述

    (a)(b) 次方对 (p) 取模的值。

    输入格式

    三个整数 (a) , (b) , (p) ,在同一行用空格隔开。

    输出格式

    输出一个整数,表示 a^b mod p 的值。

    数据范围

    (0 ≤ a,b,p ≤ 10^9) ,
    数据保证 (p≠0)

    样例输入

    3 2 7
    

    样例输出

    2
    

    解题思路

    这是一个快速幂模板题,直接套模板就可以了。

    快速幂模板((a^b\%p)):

    public static long quickPow(int a, int b, int mod) {
        long ans = 1, clothCover = a;
        while (b > 0) {
            if ((b & 1) == 1) {
                ans = ans * clothCover % mod;
            }
            clothCover = clothCover * clothCover % mod;
            b >>= 1;
        }
        return ans % mod;
    }
    

    解题代码-Java

    import java.util.Scanner;
    
    public class Main {
        public static long quickPow(int a, int b, int mod) {
            long ans = 1, clothCover = a;
            while (b > 0) {
                if ((b & 1) == 1) {
                    ans = ans * clothCover % mod;
                }
                clothCover = clothCover * clothCover % mod;
                b >>= 1;
            }
            return ans % mod;
        }
    
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            System.out.println(quickPow(input.nextInt(), input.nextInt(), input.nextInt()));
            input.close();
        }
    }
    
  • 相关阅读:
    jq---方法总结
    Coderfroces 862 B . Mahmoud and Ehab and the bipartiteness
    Coin
    joisino's travel
    日天的终生大事(dp)
    Codefroces 852 G. Bathroom terminal
    Codefroces432 div2 A,B,C
    Atcoder ABC 069 C
    Codefroces 849 A,B
    HDU 6186 CS Course
  • 原文地址:https://www.cnblogs.com/hurentian/p/14370526.html
Copyright © 2011-2022 走看看