题目 2154: 取余运算

题目描述:

输入b,p,k的值,求b^p mod k的值。其中b,p,k×k为长整型数。

解题思路:

  • 如果指数为奇数,那么结果乘以当前的底数,指数除以2(整除运算)。
  • 如果指数为偶数,那么底数变为原来底数的平方,指数除以2。

代码:

分治算法

java 复制代码
package lanqiao;

import java.math.BigInteger;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long b = sc.nextInt();
        long p = sc.nextInt();
        long k = sc.nextInt();

        System.out.println(b + "^" + p + " mod " + k + "=" + f(b,p,k));

    }
    public static long f(long b,long p,long k)
    {
        long ans = 1;
        while(p > 0)
        {
            if(p % 2 == 1)
                ans = ans * b % k;
            b = b * b % k;
            p /= 2;
        }
        return ans;
    }
}
相关推荐
rqtz几秒前
【机器人】ROS结合Qt开发上位机软件工作空间配置
开发语言·qt·ros
wabs6667 小时前
关于贪心算法的思考
算法·贪心算法
社交怪人7 小时前
【判断大小】信息学奥赛一本通C语言解法(题号1043)
算法
许彰午7 小时前
14_Java泛型完全指南
java·windows·python
Snasph8 小时前
GNU Make 用户手册(中文版)
服务器·算法·gnu
智慧物业老杨8 小时前
司法绿色通道下的物业纠纷数智化解决方案——基于“三优先“机制的全流程技术落地实践
java·django
2601_961194028 小时前
2026初级会计实务公式总结大全|计算题公式手册PDF
java·spring·eclipse·pdf·tomcat·hibernate
做个文艺程序员8 小时前
第1篇:K8s 核心概念精讲:Pod、Deployment、Service 与 Namespace——Java 开发者快速上手指南
java·云原生·容器·kubernetes·容器编排
江澎涌8 小时前
拆解与 AI 的一次对话
人工智能·算法·程序员
sheeta19988 小时前
LeetCode 每日一题笔记 日期:2026.06.02 题目:3635. 最早完成陆地和水上游乐设施的时间 II
笔记·算法·leetcode