题目链接:htt含拼音ps://www.acwing.com/problem/content/description/92/
思路:根据题目给的数据范围,发现如果直接进行a*b的话会超出long long int 的数据范围,因此要将b以2进制形式进行表示,每次加上2的倍数的同时对b取余,这样就能保证结果res一直在long lon四级难过吗g int 的数据范围内。从而正确输出。
代码如下:
#include<i大数据的好处ostream&g入党父母政审材料模板t;using namespace std;typedef long long int ll;int main(){ ios::sync_with_stdio(fal); cin.tie(0); ll a,b,p; cin>>my college life;a>>b>>p; ll res=0; while(b) { if(b&1) res+=a; res=res%p; a=a<<1; a=a%p; b=b>>1; } cout<<res<<endl; return 0;}
本文地址:https://blog.csdn.net/qq_46078451/article/details/108163195
本文发布于:2023-04-04 03:37:27,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/6ddefb1f2e4d487961ba69cdfdbcaf23.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:64位整数乘法.doc
本文 PDF 下载地址:64位整数乘法.pdf
留言与评论(共有 0 条评论) |