poj 1845(等比数列前n项和及高速幂)

poj 1845(等比数列前n项和及高速幂)

大家好,又见面了,我是全栈君。

Sumdiv
Time Limit: 1000MS   Memory Limit: 30000K
Total Submissions: 13959   Accepted: 3433

Description

Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine S modulo 9901 (the rest of the division of S by 9901).

Input

The only line contains the two natural numbers A and B, (0 <= A,B <= 50000000)separated by blanks.

Output

The only line of the output will contain S modulo 9901.

Sample Input

2 3

Sample Output

15

Hint

2^3 = 8. 

The natural divisors of 8 are: 1,2,4,8. Their sum is 15. 

15 modulo 9901 is 15 (that should be output). 

Source

Romania OI 2002

思路看:

http://hi.baidu.com/necsinmyway/item/9f10b6d96c5068fbb2f77740

AC代码:

#include<iostream>using namespace std;#define LL long longLL pow_mod(LL a,LL n,int mod){         //高速幂    LL r=1;    LL base=a;    while(n){        if(n&1)            r=r*base%mod;        base=base*base%mod;        n>>=1;    }    return r%9901;}LL sum(LL a,LL b,LL mod){             //二分求等比数列前N项和    if(b==0)        return 1;    if(b%2==1)        return (sum(a,b/2,mod)*(pow_mod(a,b/2+1,mod)+1))%mod;    else        return (sum(a,b-1,mod)+pow_mod(a,b,mod))%mod;}int main(){    LL a,b;    LL ans;    while(cin>>a>>b){        ans=1;        for(LL i=2;i*i<=a;i++){           //将a分解为质数的乘积            if(a%i==0){                LL s=0;                while(a%i==0){                    s++;                    a/=i;                }                ans=ans*sum(i%9901,b*s,9901)%9901;            }        }        if(a>=2){            ans=ans*sum(a%9901,b,9901)%9901;        }        cout<<ans<<endl;    }    return 0;}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115395.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sap concur报销系统_SAP NetWeaver

    sap concur报销系统_SAP NetWeaver启动orion后,注册用户登录后,默认的地址是localhost:8080/edit/edit.html,这是页面提示了accessdenied,google了很久,有蛮多人遇到此问题,有人说需要把地址该问localhost:8080/webide/index.html,但我修改后还是会报此错误,后面看了有人说需要更新JDK的版本,后面下了JDK8,按装完成后,再启动orion,输入地址ocal…

    2022年9月25日
    0
  • 手把手教你 SSM 整合(非常非常非常非常非常详细)

    手把手教你 SSM 整合(非常非常非常非常非常详细)SSM整合  整合的思路是:   Spring管理持久层的mapper。   Spring管理业务层的service,service可以调用mapper接口。Spring进行事物控制。   Spring管理表现层的Handler,handler可以调用service接口。工程创建   创建Maven工程–>createforarchtype–>webapp创建项目结…

    2022年6月12日
    24
  • 一致性hash算法 java实现_信息的一致性

    一致性hash算法 java实现_信息的一致性介绍一致性Hash算法是实现负载均衡的一种策略,后续会写如何实现负载均衡一致哈希是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对K/n个关键字重新映射,其中K是关键字的数量,n是槽位数量。然而在传统的哈希表中,添加或删除一个槽位的几乎需要对所有关键字进行重新映射。强哈希考虑到单服务器不能承载,因此使用了分布式架构,最初的算法为hash()modn,hash()通常取用户ID,n为节点数。此方法容易实现且能够满足运营要求。缺点是当单点发

    2022年9月27日
    3
  • 云存储要发展安全性和可用性问题需解决

    云存储要发展安全性和可用性问题需解决

    2022年3月6日
    51
  • Jedis配置,项目启动注入JedisPool

    Jedis配置,项目启动注入JedisPoolJedis配置,项目启动注入JedisPool@EnableAutoConfiguration@PropertySource(“classpath:config.properties”)@ConfigurationProperties(prefix=”redis”)publicclassJedisConfig{/***LOGGER*/…

    2025年8月26日
    7
  • Vue高阶组件_高阶组件的承上启下

    Vue高阶组件_高阶组件的承上启下目录一、高阶组件概念二、目标三、思路四、准备五、实现六、难点Reference一、高阶组件概念何谓高阶组件?类比高阶函数的定义:将函数作为参数的函数就是高阶函数,那么,将组件作为参数的组件就是高阶组件。二、目标假如我们有一个组件,我们希望通过某个函数,去扩展它,得到一个新的组件,新的组件有完全的参数组件的行为,如果这点可以满足,那么其他扩展就可以针对性的…

    2025年7月27日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号