有理数取余
【模板】有理数取余
题目描述
给出一个有理数 ,求 的值。
这个值被定义为 的解。
有理数取余
费马小定理:若为素数,,则有
快读,边读入边模。然后利用快速幂求,在将输出即可。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll p = 19260817;
inline int read(){
int res = 0;
char ch = getchar();
while(ch < '0' || ch > '9')
ch = getchar();
while('0' <= ch && ch <= '9'){
res = (res<<3)+(res<<1) + (ch^48);
res %= p;
ch = getchar();
}
return res;
}
int power(int a,int b){
int res = 1;
while(b){
if(b&1)res=(ll)res * a % p;
a = (ll)a * a % p;
b >>= 1;
}
return res;
}
int main()
{
int a,b;
a = read();
b = read();
b = power(b,p-2);
cout << (ll)a * b % p << endl;
}
“风雪越是呼啸,雪莲越是绽放”
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战