给出a和b求a^b的约数和。

题目描述

输入输出格式

输入格式:

一行两个数a,b。

输出格式:

一个数表示结果对 9901 的模。

输入输出样例

输入样例#1:

2 3

输出样例#1:

15

说明

对于 30%的数据,a,b≤ 10 对于 100%的数据,0 ≤ a,b ≤ 50 000 000

早上听大爷讲完数论马上回来补了一道

这题呢 我们首先可以吧a质因数分解 表示为p1^c1 × p2^c2 ×……× pn^cn

那么a^b就可以表示为p1^(c1*B) × p2^(c2*B) ×……× pn^(cn*B)

A^B的约数表示为p1^k1 × p2^k2 ×……× pn^kn,其中0<=ki<=ci*B

那么所有的约数和就是(1+p1+p1^2+……+p1^(c1*B)) × (1+p2+p2^2+……+p2^(c2*B)) ×……× (1+pn+pn^2+……+pn^(cn*B))

这个拿乘法定律什么的搞一下就可以得到了哇

#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
const int mod=9901;
LL read(){int ans=0,f=1,c=getchar();while(c<'0'||c>'9'){if(c=='-') f=-1; c=getchar();}while(c>='0'&&c<='9'){ans=ans*10+(c-'0'); c=getchar();}return ans*f;
}
LL n,m,ans=1;
LL sum[255],h[255],cnt;
LL qmod(LL a,LL b){LL ans=1;while(b){if(b&1) ans=ans*a%mod;b>>=1; a=a*a%mod;}return ans;
}
void prepare(){LL v=n;for(int i=2;i<=v;i++)if(n%i==0){sum[++cnt]=i; h[cnt]++;n/=i;while(n%i==0) h[cnt]++,n/=i;h[cnt]*=m;if(!n) return ;}
}
int main()
{n=read(); m=read(); prepare();//for(int i=1;i<=cnt;i++) printf("[%lld %lld]\n",sum[i],h[i]);for(int i=1;i<=cnt;i++){LL q=qmod(sum[i]-1,mod-2),p=qmod(sum[i],h[i]+1)-1;ans=ans*p%mod*q%mod;}printf("%lld\n",ans);return 0;
}

View Code

转载于:https://www.cnblogs.com/lyzuikeai/p/7268140.html

洛谷 P2715 约数和相关推荐

  1. 洛谷 [SDOI2015]约数个数和 解题报告

    [SDOI2015]约数个数和 题目描述 设\(d(x)\)为\(x\)的约数个数,给定\(N,M\),求$ \sum\limits^N_{i=1}\sum\limits^M_{j=1}d(ij)$ ...

  2. 洛谷 P1851 好朋友

    题目背景 小可可和所有其他同学的手腕上都戴有一个射频识别序列号码牌,这样老师就可以方便的计算出他们的人数.很多同学都有一个"好朋友" .如果 A 的序列号的约数之和恰好等于B 的序 ...

  3. 洛谷 深基 第4部分 基础数学与数论(19-21课)

    洛谷 深基 第4部分 基础数学与数论  第19章 位运算与进制转换 P1143 进制转换 https://www.luogu.com.cn/problem/P1143 洛谷P1143 进制转换的Pyt ...

  4. YBTOJ反素数洛谷P1463(数论)

    YBTOJ反素数&&洛谷P1463() 题目传送门 打表什么的就不说了,主要讲讲正解. 对于每个反素数,有如下性质: 性质1: 1~ N中的最大的反质数,就是1~N中约数个数最多的数中 ...

  5. 算法刷题【洛谷P1593】因子和(附等比数列求和公式推导)

    异想之旅:本人原创博客完全手敲,绝对非搬运,全网不可能有重复:本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告.本人所有文章仅在CSDN.掘金和个人博客(一定是异想之旅域名)发布,除此之外全部是 ...

  6. 洛谷千题复习计划(一)(Codeforces + AtCoder)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 每天花一个小时简单复习一下我写过的洛谷的题目! 虽然还没有到千题,但是快了(等我复习完这些以后我 lu ...

  7. 洛谷1072 Hankson 的趣味题

    https://www.luogu.org/problem/show?pid=1072 Hankson 的趣味题 正解:素数筛+因数分解+乘法原理.简单地来说就是我不会! 但是考虑: 1.从b1入手, ...

  8. 洛谷or牛客数据结构+算法

    栈思想:先进后出 tips:栈里能放下标就放下标 (牛客)小c的计事本(直接用stack可以简化代码,且不会被自己绕晕,当时没意识到) (牛客)吐泡泡(没意识到用栈),(牛客)好串 1.后缀表达式(栈 ...

  9. 洛谷P2257 YY的GCD 莫比乌斯函数反演+线性筛

    洛谷P2257 YY的GCD 标签 莫比乌斯反演 线性筛 前言 这题貌似和莫反没多大关系,就是用到了一个莫比乌斯函数的性质了,其他就是推公式,优化和式. 我的第一道懵逼反演-真的好难好难-而且套路特别 ...

最新文章

  1. 11.保存登录状态与注销功能
  2. 【设计模式】软件设计七大原则 ( 依赖倒置原则 | 代码示例 )
  3. 火星今天飞抵西非国家寻找埃博拉疫情
  4. Http 面试知识点
  5. matlab 地埋管温度场,地埋管换热器周围土壤冻结温度场的模拟研究
  6. Linux内存管理之一 分段与分页
  7. 一步一步学Silverlight 2系列(5):实现简单的拖放功能
  8. wxWidgets:拖动一个 wxWindow
  9. 异常解决——Spring Cloud FeignClient: BeanCreationException: Error creating bean with
  10. 初级线段树讲解---转
  11. 如何使用命令行拿到SAP Kyma的Lambda Function明细
  12. shell中的变量与eval(转)
  13. linux 字符下 上网,Linux下实现字符串截取方法总结(示例代码)
  14. 快速制图插件更新说明2018-05-09
  15. 七牛云存储基于时间戳防盗链算法参考实现
  16. python基础代码大全-Python-基础汇总
  17. px和毫米的换算_px和厘米怎么换算?
  18. 地址总线、数据总线、控制总线详解
  19. 手机html编辑器微信,135微信(135编辑器手机版网页版)
  20. Html-照片的逐步出现 、心形动画制作、3d立方体魔方、鼠标划过box阴影练习

热门文章

  1. 视易锋云服务器曲库维护,视易网管培训教材之歌库歌星部分(锋云服务器).doc...
  2. ps景观平面图转鸟瞰图_教你结合PS轻松绘制鸟瞰图
  3. Mysql基础命令记录
  4. 任正非照片刷屏有感:改不了的思维定势
  5. android中获取打气筒服务的三种形式
  6. 如何优雅地在Ubuntu上快速浏览并安装Google字体
  7. cps配置之拼多多篇
  8. cps配置之京东联盟篇
  9. 【A_star三维路径规划】基于matlab A_star算法无人机三维路径规划【含Matlab源码 446期】
  10. 高通WLAN框架学习(2)- -建立和配置WLAN连接