洛谷 P2715 约数和

news/2024/10/29 3:39:18/

给出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


http://www.ppmy.cn/news/190330.html

相关文章

Dell p2415q DP 如何开启 60hz 模式, Macbook pro 2017

Dell p2415q DP 如何开启 60hz 模式, Macbook pro 2017 注意事项 背面的两个DP接口&#xff0c;一个是输入&#xff0c;一个是输出 靠近电源口的那个 DP 口是视频源输入口&#xff0c;远离电源口的那个是 DP 的输出口。 接输出口是没有效果的&#xff0c;那个口是用于连接多台…

Win10 电脑屏幕亮度随背景颜色变化而变化

Win10 电脑屏幕亮度随背景颜色变化而变化 我的电脑&#xff1a;DELL台式机XPS8700,显示器型号&#xff1a;P2715Q 问题描述&#xff1a; 电脑由WIN7系统升级为WIN10教育版后&#xff0c;查看图片如果图片是暗的&#xff0c;显示器就会慢慢变暗&#xff0c;关掉图片后显示器又…

【3000字帮你深度剖析数据在内存中的存储】

本节重点 -- 重中之重 数据类型详细介绍 整形在内存中的存储&#xff1a;原码、反码、补码 大小端字节序介绍及判断 浮点型在内存中的存储解析 准备好了&#xff0c;开始啰&#xff0c;在小小的花园里面......最近被这个歌曲洗脑&#xff0c;但是我们并不是要唱歌&#xff0c;而…

openresty离线rpm升级至openresty-1.19.9.1版本

注意&#xff1a;此方法步骤仅本人验证通过&#xff0c;要升级的话&#xff0c;需要做备份 1。系统版本是centos7(Linux version 3.10.0-693.el7.x86_64) 2。默认openresty版本是1.15.8.1 3。本次升级到openresty-1.19.9.1 目前系统是没有连接外网&#xff0c;只能进行rpm离…

哪款蓝牙耳机通话效果好?蓝牙耳机通话效果最好排名

现在的蓝牙耳机不仅仅是用来听音乐&#xff0c;还有需要接电话的的时候也可以用到&#xff0c;蓝牙耳机通话时不用手持手机并且没有线的牵绊&#xff0c;非常合适商务人士、旅游或者经常开车的人户&#xff0c;蓝牙耳机的款式和型号众多&#xff0c;哪款蓝牙耳机通话效果好呢&a…

蓝牙耳机什么牌子性价比高一些?综合性能强的蓝牙耳机推荐

近年来&#xff0c;智能手机更新迭代非常快&#xff0c;同时耳机更新迭代也是非常快&#xff0c;从之前的有线耳机到蓝牙耳机再到现在的真无线耳机&#xff0c;在一次一次的更新中&#xff0c;耳机从有线到无线&#xff0c;从透传到降噪。虽然升级到了真无线耳机&#xff0c;但…

无线蓝牙耳机什么牌子的好用?目前最好的无线蓝牙耳机

蓝牙耳机可以说是大家通用的产品了&#xff0c;毕竟在大家的日常生活中&#xff0c;都会用到它。不过不同的蓝牙耳机品牌产品之间的价格、配置、性能差异是非常明显的&#xff0c;有的小伙伴不懂蓝牙耳机&#xff0c;一不小心可能就会入坑&#xff0c;不过不要担心&#xff0c;…

哪个品牌的蓝牙耳机质量比较好?内行推荐四款好用的蓝牙耳机

近几年&#xff0c;蓝牙耳机逐渐成为人们日常生活中最重要的数码产品之一&#xff0c;不管是看电视、打电话或者是运动健身&#xff0c;都能看到蓝牙耳机的身影。那么&#xff0c;哪个品牌的蓝牙耳机质量比较好&#xff1f;下面&#xff0c;我来给大家推荐四款好用的蓝牙耳机&a…