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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql和redis的区别

    mysql和redis的区别1.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限2.mysql的运行机制mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复…

    2022年6月14日
    40
  • javaScript的基本语法结构「建议收藏」

    javaScript的基本语法结构「建议收藏」javaScript的基本语法结构一、javascript程序带的文本二、javascript中的注释三、字面量四、标识符和保留字标识符保留字五:可选的分号一、javascript程序带的文本vascript区分大小写。这就意味着他的关键字,变量,函数名和其他标识符必须始终保持一致的大小写格式二、javascript中的注释//这是单行注释/*这也是注释*///而这是另一个注释/**这是多行注释*每行开头的*字符不是必要的,只是为了美观*/三、字面量字面量(litera

    2022年10月9日
    3
  • qlineedit右键菜单_qlineedit设置背景颜色

    qlineedit右键菜单_qlineedit设置背景颜色  做项目的时候,很多时候会遇到要在编辑框的右边添加一个按钮,用于弹出其他窗口选择内容后再填入编辑框,一种做法是添加一个QLineEdit再在后面加一个QPushButton然后进行布局,但这样不太好看。  其实QLineEdit是支持在右边添加按钮的。实现代码如下: QLineEdit*editor=newQLineEdit(parent); QToolButton*btn=…

    2022年10月5日
    2
  • 西天取经意义初探_show concern about

    西天取经意义初探_show concern about构建DirectShow应用程序  本章节描述构建DirectShow应用程序所需的头文件和库。WindowsSDK中提供了最新的DirectShow头文件和库。头文件    所有的DirectShow应用程序都需要Dshow.h头文件,一些DirectShow接口可能还需要额外的头文件。库文件    调试版和发布版都是用相同的.lib文件。 F…

    2022年10月12日
    4
  • 分块矩阵计算行列式三板斧

    分块矩阵计算行列式三板斧第一板斧:上下三角分块第二板斧:对角为0零的分块第三板斧:全分块小招:A^2-B^2其他招式:利用特征值计算行列式

    2022年6月28日
    28
  • 网络恐怖袭击真实存在吗知乎_911恐怖袭击事件真实过程

    网络恐怖袭击真实存在吗知乎_911恐怖袭击事件真实过程作者:zdnet.co.uk2005-06-0705:0PM网络恐怖主义是一种真的存在的威胁还是仅仅是网络安全日常维护工作中的一种困惑?”我们的敌人将使用我们的技术来和我们做斗争…事实是他们可能来自于第三世界国家,他们不会以任何方式告诉我们,他们不会使用哪些技术以及他们将会用何种方式使用我们的技术。他们将会发现那些我们应该构建安全但是我们没有考虑到的地方,然后他们就会利用这些漏洞。”本

    2025年9月25日
    4

发表回复

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

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