(相关资料图)
除法取模运算(公式法)注意,除法是指算术除法后向下取整,即计算机中的整数除法如果遇到(a/b)%m的问题,直接运算a/b然后取模是错误的,这时,我们往往需要求出b的逆元,然后将式子改为:(a*b的逆元)%m的形式,此时先做乘法再取模就正确了。
除此之外,还有一种方法,就是用以下公式求解:
x/d%m=x%(d*m)/d
证明:
\[\begin{aligned}\frac{x}{d} \%m &= \frac{x}{d}-m\cdot \frac{x}{d\cdot m}\\\frac{x\%(d\cdot m)}{d}&=\frac{x-d\cdot m\cdot \frac{x}{d\cdot m}}{d}\\&=\frac{x}{d}-m\cdot \frac{x}{d\cdot m}\end{aligned}\]例题[原题链接](Problem - I - Codeforces)
题目大意给两个整数n,m。求\(\frac{1}{n}\) 小数点后第m位。\(1\leq n \leq 10^5,1\leq m \leq 10^9\)
样例1输入3 5
输出3
样例2输入233 23
输出5
思路设\(k=\frac{1}{n}\),则求k小数点后第1位,就是把k乘以10然后取个位,求k小数点后第2位,就是k乘以100然后取个位,以此类推
故求k小数点后第m位就是\(\frac{10^m}{n} \% 10\),然后用公式转化为:\(\frac{10^m \%(10\cdot n)}{n}\)。然后就可以使用快速幂计算。
AC代码#includeusing namespace std;using i64 = long long;i64 n, m;i64 qp(i64 a, i64 b) {i64 res = 1;while (b) {if (b & 1) {res = res * a % (10 * n);b--;}a = a * a % (10 * n);b /= 2;}return res;}int main() {ios::sync_with_stdio(false);cin.tie(0);cin >> n >> m;cout << qp(10, m) / n;return 0;}
上一篇:全球速看:深圳龙岗区坪地街道开展端午节令食品安全专项检查
下一篇:最后一页
X 关闭
-
注意!大到暴雨!局地有雷暴大风!
今天是节后上班第一天出门千万带把伞!中央气象台6月25日06时继续发布
-
2023年7月北京广化寺讲经法讯安排一览-当前快报
本寺每周六、周日下午两点至四点,于东院佛研所教室讲经。时间、经典及
-
价格战席卷市场 新能源汽车进入淘汰赛阶段 每日速递
破产、裁员、欠薪、价格战,当下的新能源汽车正在上演“淘汰赛”。随着
-
环球视讯!海蓝色图片(海蓝色)
导读1、海蓝色的国家标准色卡标号是:GSB05-1426-2001标准中的;6;PB0
-
美的空调如何调校验码(美的空调如何)
来为大家解答以上问题,美的空调如何调校验码,美的空调如何很多人还不
-
《寻找送给已婚男情人的完美礼物,教你如何扭转飘带》
对于任何派对来说,彩带都是必不可少且有趣的元素。它们是欢快、色
-
山东、河北持续干旱,玉米该如何管理?给苗期和未播地块建议来了
夏播玉米对于水分的需求很关键,如遇降雨充足的天气,玉米长势非常快。
-
热点!我和一群美女流落荒岛H_我和一群美女流落荒岛
1、《绝代天骄》作者:傅严杰海难后,我和她流落荒岛。2、我的任务只有
-
新易盛:正在积极推进1.6T光模块产品送样测试工作
新易盛在互动平台表示,公司已在OFC2023期间推出了相关1 6T光模块产品
-
签到不止!第三方支付走向风口,这几家公司前景一片光明!
行业简报