zoukankan      html  css  js  c++  java
  • 快速运算模板(未完待续)

    快速运算题目(持续更新)

    (1.) (Raising) (Modulo) (Numbers)

    快速幂

    细节:注意返回答案前取模。

    $View$ $Code$
    
    inline long long readl()
    {
    	long long ret=0,f=1;
    	char ch=getchar();
    	while(ch>'9'||ch<'0')
    	{
    		if(ch=='-')
    			f=-1;
    		ch=getchar();
    	}
    	while(ch>='0'&&ch<='9')
    	{
    		ret=(ret<<1)+(ret<<3)+ch-'0';
    		ch=getchar();
    	}
    	return ret*f;
    }
    inline long long qpow(long long a,long long b,long long mod)
    {
    	long long ans=1;
    	while(b)
    	{
    		if(b&1)
    			ans=ans*a%mod;
    		a=a*a%mod;
    		b>>=1;
    	}
    	return ans%mod;
    }
    long long a,b,p;
    int main()
    {
    	a=readl();
    	b=readl();
    	p=readl();
    	printf("%lld
    ",qpow(a,b,p));
    	return 0;
    }
    

    快速乘(二进制拆分)

    $View$ $Code$
    
    inline long long readl()
    {
    	long long ret=0,f=1;
    	char ch=getchar();
    	while(ch>'9'||ch<'0')
    	{
    		if(ch=='-')
    			f=-1;
    		ch=getchar();
    	}
    	while(ch>='0'&&ch<='9')
    	{
    		ret=(ret<<1)+(ret<<3)+ch-'0';
    		ch=getchar();
    	}
    	return ret*f;
    }
    inline long long qpow(long long a,long long b,long long mod)
    {
    	long long ans=1;
    	while(b)
    	{
    		if(b&1)
    			ans=(ans+a)%mod;
    		a=(a<<1)%mod;
    		b>>=1;
    	}
    	return ans%mod;
    }
    long long a,b,p;
    int main()
    {
    	a=readl();
    	b=readl();
    	p=readl();
    	printf("%lld
    ",qpow(a,b,p));
    	return 0;
    }
    

    快速乘(long double)

  • 相关阅读:
    django创建项目,一个简单的登录。
    MySQL下载与安装
    查看拉去代码时候的git账号密码
    Springmvc-组件
    转发与重定向
    springMVC-常用注解
    springMVC-请求参数绑定
    SpringMVC-RequestMapping注解
    JAVA-异常处理
    springMVC-入门案例
  • 原文地址:https://www.cnblogs.com/Peter0701/p/11625058.html
Copyright © 2011-2022 走看看