蓝桥杯16—快速幂

59 篇文章 0 订阅
8 篇文章 0 订阅

title: 蓝桥杯16—快速幂
date: 2019-11-18 21:38:00
categories:

  • 蓝桥杯
    tags:
  • 蓝桥杯

蓝桥杯16—快速幂

  • 问题描述          
    给定A, B, P,求(A^B) mod P。        
    输入格式          输入共一行。          
    第一行有三个数,N, M, P。        输
    出格式          输出共一行,表示所求。        
    样例输入        
    2 5 3       
    样例输出        
    2        
    数据规模和约定          
    共10组数据          
    对100%的数据,A, B为long long范围内的非负整数,P为int内的非负整数。
    
  • 解释:
    在这里插入图片描述

  • 解法:

    import java.util.Scanner;
    public class day_16 {
        public static void main(String[] args){
            Scanner in = new Scanner(System.in);
            long a = in.nextLong();
            long b = in.nextLong();
            long c = in.nextLong();
            long result = 1;
            in.close();
            while(b>0){
                if(b%2==1){
                    //是奇数情况下,需要多乘以一个a
                    result = (result*a)%c;
                }
                a = (a*a)%c;//不管b是奇数还是偶数都是这样,将b的数值降下来,a的数值升上去
                b = b/2;
            }
            System.out.print(result);
        }
    }
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值