当前位置: 首页 > article >正文

64位整数乘法

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

求 a 乘 b 对 p 取模的值,其中 1≤a,b,p≤10181 \leq a,b,p \leq 10^{18}1≤a,b,p≤1018。

输入描述:

第一行a,第二行b,第三行p。

输出描述:

一个整数,表示a×b mod p值。

示例1

输入

复制2 3 9

2
3
9

输出

复制6

6

思路:

由于a,b,p都很大,a*b会直接爆掉,所以要优化

利用位运算,a*b=a*1+a*2+a*4+a*8+a*16+***

有1就加

代码:

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll a,b,p;
int main(){
    cin.tie(0);
    cin>>a>>b>>p;
    ll res=0;
    ll s=1;
    while(b){
        if(b&1)res=(res+a)%p;
        b>>=1;
        a=a*2%p;
    }
    cout<<res;
}


http://www.kler.cn/a/304511.html

相关文章:

  • Shell 脚本中的大小写陷阱:为什么 ${PWD} 而不是 ${pwd}?
  • DBeaver 连接 OceanBase Oracle 租户
  • 【JAVA基础】JVM是什么?
  • 基于 Python Django 的二手房间可视化系统分析
  • OceanStor Pacific系列 8.1.0 功能架构
  • 设计模式之装饰器模式(SSO单点登录功能扩展,增加拦截用户访问方法范围场景)
  • 【App】React Native
  • SQLite的入门级项目学习记录(二)
  • 汽车租赁系统1.0版本
  • Linux——进程状态
  • 【React Native】第三方组件
  • 前端层面----监控与埋点
  • EasyExcel拿表头(二级表头)爬坑,invokeHeadMap方法
  • 记录一下,Vcenter清理/storage/archive空间
  • kafka 之 本地部署单机版
  • spring项目期间的学习9/11
  • 《论企业集成平台的技术与应用》写作框架,软考高级系统架构设计师
  • 数据库系统 第58节 数据库审计
  • 创意无限:五款AI绘画应用,让艺术创作更简单
  • Java基础 --- 多线程JUC,以及一些常用的设计模式总结
  • 前端form表单+ifarme方式实现大文件下载
  • OpenAI 刚刚推出 o1 大模型!!突破LLM极限
  • 医疗行业怎么节约和管理能源
  • Leetcode 每日一题:Longest Increasing Path in a Matrix
  • Python安装:Mac 使用brew 安装Python2 和 Python3
  • 古文字定位系统源码分享