zoukankan      html  css  js  c++  java
  • poj1995 Raising Modulo Numbers

    http://poj.org/problem?id=1995

    快速幂的模板,用来练习快速幂

    快速幂模板:

    int quick(int a,int b,int c)  {  
        int ans=1;a=a%c; 
        while(b!=0){  
            if(b&1) ans=(ans*a)%c; 
            b>>=1; 
            a=(a*a)%c;
        }  
        return ans;  
    }  

    so……

    (我也不知道为什么要写这道题题解)

    ac代码:

    #pragma G++ optimize(2)
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    #include<queue>
    #include<vector>
    using namespace std;
    #define REG register
    #define REP(i,x,y) for(REG int i=x;i<=y;i++)
    #define UP(i,x,y) for(REG int i=x;i>=y;i--)
    #define IN inline
    #define ll long long 
    
    int quick(int a,int b,int c)  {  
        int ans=1;a=a%c; 
        while(b!=0){  
            if(b&1) ans=(ans*a)%c; 
            b>>=1; 
            a=(a*a)%c;
        }  
        return ans;  
    }  
    
    int main(){
        int t;
        scanf("%d",&t);
        while(t--){
            int ans=0,a,b,n,mod;
            scanf("%d %d",&mod,&n);
            REP(i,1,n){
                scanf("%d %d",&a,&b);
                ans+=quick(a,b,mod);//听说这样更快
            }
            printf("%d
    ",ans%mod);
        }
        
        return 0;
    }
    View Code
  • 相关阅读:
    浅析 KMP
    【GOJ 3049】玩具
    较详细的gdb入门教程
    【GOJ 2963】记者
    【GOJ 2961】数数
    GF OIer's Talk 维护笔记
    Linux 中 UFW 的使用
    开源是什么?能吃吗?
    个人介绍
    NOIP2020 爆零记
  • 原文地址:https://www.cnblogs.com/EvfX/p/8612134.html
Copyright © 2011-2022 走看看