【模板】有理数取余

题意简述

给出一个有理数\(c=\frac{a}{b}\),求\(c \mod 19260817\)的值。

题解思路

在读入时先模一下,然后直接用逆元

代码

#include <cstdio>
const int mod = 19260817;
typedef long long ll;
int a, b;
char ch;
int read_int(int s = 0)
{
    ch = getchar();
    while (ch < '0' || ch > '9') ch = getchar();
    for (s = ch - '0'; ch = getchar(), ch >= '0' && ch <= '9'; s = s * 10 % mod + ch - '0');
    return s;
}
int _pow(int x, int y, int s = 1)
{
    for (register int i = y; i; i >>= 1, x = (ll)x * x % mod)
        if (i & 1)
            s = (ll) s * x % mod;
    return s;
}
int main()
{
    a = read_int();
    b = read_int();
    if (!b) puts("Angry!"); 
    else printf("%d\n", (int)((ll)a * _pow(b, mod - 2) % mod));
}

转载于:https://www.cnblogs.com/xuyixuan/p/9636601.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值