zoukankan      html  css  js  c++  java
  • [模板] 有理数取余

    有理数取余其实不是一个单独的东西,其实就是一个费马小定理的应用,但是这个题的数据范围对于不用快读的人有点不友好,我看一个哥们用快读调了3天,然而我20分钟就做完了。

    关于读入,就直接在快读中加入一个取模就行了。然后直接费马小定理,但一开始忘了无解的情况,假如b为0就是分母为0,无解。

    题干:

    题目描述
    给出一个有理数c=abc=frac{a}{b}c=b
    a​,求c mod19260817c mod 19260817c mod19260817的值。
    输入输出格式
    输入格式:
    一共两行。
    第一行,一个整数aaa。
    第二行,一个整数bbb。
    输出格式:
    一个整数,代表求余后的结果。如果无解,输出Angry!
    输入输出样例
    输入样例#1: 复制
    233
    666
    输出样例#1: 复制
    18595654
    说明
    对于所有数据,0≤a,b≤10100010leq a,b leq 10^{10001}0≤a,b≤1010001

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<ctime>
    #include<queue>
    #include<algorithm>
    #include<string>
    #include<cstring>
    using namespace std;
    #define duke(i,a,n) for(ll i = a;i <= n;i++)
    #define lv(i,a,n) for(int i = a;i >= n;i--)
    #define clean(a) memset(a,0,sizeof(a))
    const int INF = 1 << 30;
    const long long mod = 19260817;
    typedef long long ll;
    typedef double db;
    template <class T>
    void read(T &x)
    {
        char c;
        bool op = 0;
        while(c = getchar(), c < '0' || c > '9')
            if(c == '-') op = 1;
        x = c - '0';
        while(c = getchar(), c >= '0' && c <= '9')
            x = (x * 10 % mod  + c - '0') % mod;
        if(op) x = -x;
    }
    template <class T>
    void write(T x)
    {
        if(x < 0) putchar('-'), x = -x;
        if(x >= 10) write(x / 10);
        putchar('0' + x % 10);
    }
    ll a,b;
    ll ksm(ll x,ll y)
    {
        ll tot = 1;
        while(y)
        {
            if(y % 2 == 1)
            tot *= x;
            tot %= mod;
            x *= x;
            x %= mod;
            y >>= 1;
        }
        return tot;
    }
    int main()
    {
        read(a);read(b);
        if(b == 0)
        {
            printf("Angry!
    ");
            return 0;
        }
        ll ans = a * ksm(b,mod - 2);
        printf("%lld
    ",(ans % mod + mod) % mod);
        return 0;
    }
  • 相关阅读:
    [BZOJ 2653]middle
    svn提交错误
    查看当前功能地址
    后台纯代码--短信验证
    图片验证码~~~之后台生成随机数
    小程序之~~登录后台代码
    小程序登录过程简介
    小程序之~微信登录后台代码
    小程序之~~基于微信登录,后台代码
    小程序之~~短信验证
  • 原文地址:https://www.cnblogs.com/DukeLv/p/9693510.html
Copyright © 2011-2022 走看看