题目

P2613 【模板】有理数取余

解析

简单的数论题

发现并没有对小数取余这一说,所以我们把原式化一下,

\[(c=\frac{a}{b})\equiv a\times b^{-1}(mod\ p)
\]

因为\(p\)是质数,所以我们根据费马小定理\(b^{p-1}\equiv 1(mod p)\),

有\(a\times b^{-1}\times 1 \equiv c(mod\ p)\),

\(=>a\times b^{-1}\times b^{p-1} \equiv c(mod\ p)\)

\(=>a\times b^{p-2} \equiv c(mod\ p)\)

于是我们求\(a\times b^{p-2}(mod\ p)\)就好了,注意\(b=0\)时无解。

输入的话根据同余的同加性和同乘性,在读入优化里加一个取余就好了

代码

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod = 19260817;
int a, b; inline int read() {
int x = 0, f = 0; char ch = getchar();
while (!isdigit(ch)) f |= (ch == '-'), ch = getchar();
while (isdigit(ch)) x = (x * 10 + ch - '0') % mod, ch = getchar();
return f ? -x : x;
} int qpow(int a, int b) {
int ans = 1;
while (b) {
if (b & 1) ans = (ans * a) % mod;
a = (a * a) % mod, b >>= 1;
}
return ans;
} main() {
a = read(), b = read();
if (b == 0) {
printf("Angry!");
return 0;
}
cout << (qpow(b, mod - 2) * a % mod + mod) % mod;
}

P2613 【模板】有理数取余 (数论)的更多相关文章

  1. [洛谷P2613] [模板] 有理数取余

    刷水题. 传送门 看似高精而非高精乃是此题最大亮点. 边读边取模技能get~ #include<cstdio> #define ll long long #define mod 19260 ...

  2. 洛谷 P2613 【模板】有理数取余

    P2613 [模板]有理数取余 题目描述 给出一个有理数c=\frac{a}{b}c=ba​,求c\ \bmod 19260817c mod19260817的值. 输入输出格式 输入格式: 一共两行. ...

  3. 洛谷——P2613 【模板】有理数取余

    P2613 [模板]有理数取余 读入优化预处理 $\frac {a}{b}\mod 19620817$ 也就是$a\times b^{-1}$ $a\times b^{-1}\mod 19620817 ...

  4. 题解 P2613 【【模板】有理数取余】

    题目链接 我们先看这个式子: $c=\dfrac{a}{b}$ $ $ $ $ $mod$ $ $ $ $ $19260817$ 某正常高中生:这$……$ --- 对于这个 $c$ . 显然,它很可能 ...

  5. P2613 有理数取余

    原题链接 https://www.luogu.org/problemnew/show/P2613 在这里虽然是讲洛谷的题解,但用到的数论知识,归并到数论里也不为过! 进入正题: 首先看到题面:给出一个 ...

  6. 题解——洛谷P2613 【模板】有理数取余(扩展欧几里得算法+逆元)

    题面 题目描述 给出一个有理数 c=\frac{a}{b}  ​ ,求  c mod19260817  的值. 输入输出格式 输入格式: 一共两行. 第一行,一个整数 \( a \) .第二行,一个整 ...

  7. P2613 【模板】有理数取余

    题目描述 给出一个有理数 $c=\frac{a}{b}$ ,求 c mod 19260817 的值. 输入输出格式 输入格式: 一共两行. 第一行,一个整数 aa .第二行,一个整数 bb . 输出格 ...

  8. 数学【p2613】 【模板】有理数取余(费马小定理)

    题目描述 给出一个有理数 c=a/b ,求 c mod 19260817的值. 说明 对于所有数据, 0≤a,b≤10^10001 分析: 一看题 这么短 哇简单!况且19260817还是个素数!(美 ...

  9. 洛谷p2613【模板】有理数取余

    题目 \(c\)等于一个分数,求他的余数,分数是不能直接模的,除以一个数等于乘上这个数的逆元. 所以此题就是求一个逆元,费马小定理求逆元是很方便的,一个快速幂就解决了. 还要注意因为\(a,b\)的值 ...

随机推荐

  1. C# ctpclient networkstream 使用 BinaryReader的ReadString但是使用streamReader的Readtoend不行

    BinaryReader.ReadString是和BinaryWriter.Write(string)使用详解链接:https://ask.csdn.net/questions/184965

  2. Linux系统中日志级别详情

    日志信息分类 1.等级由低到高:debug<info<warn<Error<Fatal; 2.区别: debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系 ...

  3. quartus仿真提示: Can't launch the ModelSim-Altera software

    quartus仿真提示: Can't launch the ModelSim-Altera software 2017年07月13日 17:54:50 小怪_tan 阅读数:3255   路径中的结尾 ...

  4. jetty源码下载

    jetty下载地址:https://www.eclipse.org/jetty/download.html Release         9.4.20.v20190813 .zip .tgz api ...

  5. 解决在SQLPLUS中无法使用方向键、退格键问题

    1. wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/E ...

  6. docker run启动的容器挂掉了,数据怎么办

    情景描述 在某个系统中,功能性的服务使用 docker stack deploy xxx 启动,某个国产数据库的服务单独使用 docker run xxx 启动,数据库服务没有将存储的位置挂载出来: ...

  7. Cassandra开发入门文档第二部分(timeuuid类型、复合主键、静态字段详解)

    timeuuid类型 timeuuid具有唯一索引和日期时间的综合特性,可以与日期和时间函数联合使用,常用的关联函数: dateOf() now() minTimeuuid() and maxTime ...

  8. 修改TestStand Testsocket 从非0开始

    Issue Details I am running the parallel process model or batch model and want my test sockets to be ...

  9. Maya编程——节点&命令

    代码写完出现问题: 查了一下原因:

  10. XT交易所API

    HTTPAPI xt为用户提供了一个简单的而又强大的API,旨在帮助用户快速高效的将xt交易功能整合到自己应用当中. API地址域名地址 域名地址:https://www.xt.com/ 使用说明 使 ...