当前位置: 首页 > news >正文

每日一题7.20

P1593 因子和 - 洛谷

题目描述

输入两个整数 a 和 b,求 ab 的因子和。

由于结果太大,只要输出它对 9901 取模的结果。

输入格式

仅一行,为两个整数 a 和 b。

输出格式

输出一行一个整数表示答案对 9901 取模的结果。

输入输出样例

输入 #1复制

2 3

输出 #1复制

15

说明/提示

数据规模与约定

对于全部的测试点,保证 1≤a≤5×107,0≤b≤5×107。

会发现,求因子和,比如2的3次方的因子就是1,2,2的平方,2的3次方。

是一个等比数列。

而a是由一个固定的质数组相乘得到的

因此算出每一个质数的等比数列并相乘就能得到答案。

除此之外,有大于a的平方根的数必定只有一次方。如26=2*13;还要考虑各种特殊情况,代码如下。

#include<bits/stdc++.h>
using namespace std;
#define mod 9901
int inv[9901];
void init()//初始化求逆元
{inv[0] = inv[1] = 1;for (int i = 2; i <= mod; i++)inv[i]=(mod-mod/i)*inv[mod%i]%mod;
}
int ksm(int a,int b)//快速幂
{int res=1;while (b){if(b&1)res=(res*a)%mod;a=(a*a)%mod;b>>=1;}return res;
}
int main()
{int n, m,res=1;init();cin >> n >> m;for (int i = 2; i <= sqrt(n); i++){if (!(n % i)){int mi = 0;while (n % i == 0){n/=i;mi++;}i %= mod;if(i==1)//特殊情况res=(res*(mi*m+1))%mod;elseres = (res * (ksm(i, mi*m + 1) - 1+mod)%mod * inv[i - 1])%mod;//求等比数列}}if (n>1){   n %= mod;if (n == 1)res = (res * (m + 1)) % mod;else if (n == 0)res *= 1;elseres=(res*(ksm(n,m+1)-1+mod)%mod*inv[n-1])%mod;}cout << res << endl;return 0;
}

http://www.dtcms.com/a/288651.html

相关文章:

  • OSS文件上传(一):简单上传
  • feignClient 调用详细流程
  • Valgrind Memcheck 全解析教程:6个程序说明基础内存错误
  • 判断一个数是否为质数方法
  • VSCode使用Jupyter完整指南配置机器学习环境
  • c#:TCP服务端管理类
  • 正点原子stm32F407学习笔记10——输入捕获实验
  • 2025 年科技革命时刻表:四大关键节点将如何重塑未来?
  • 内网后渗透攻击过程(实验环境)--3、横向攻击
  • SQL 调优第一步:EXPLAIN 关键字全解析
  • 【已解决】GitHub SSH 连接失败解决方案:Permission Denied (publickey) 错误修复指南
  • [Linux]进程 / PID
  • 30天打牢数模基础-决策树讲解
  • Linux入门篇学习——NFS 服务器的搭建和使用和开发板固件烧录
  • Spring Boot 第一天知识汇总
  • 【Java项目安全基石】登录认证实战:Session/Token/JWT用户校验机制深度解析
  • 相似度计算
  • 「Java案例」利用方法求反素数
  • Facebook 开源多季节性时间序列数据预测工具:Prophet 饱和预测 Saturating Forecasts
  • dynamic_cast的实现原理
  • Beamer-LaTeX学习(教程批注版)【6】
  • Elasticsearch 简化指南:GCP Google Compute Engine
  • GPT-4o mini TTS:领先的文本转语音技术
  • 随着GPT-5测试中泄露OpenAI 预计将很快发布 揭秘GPT-5冲击波:OpenAI如何颠覆AI战场,碾压谷歌和Claude?
  • prometheus 黑盒监控和docker检测
  • mysql第三次作业
  • 学习寄存器——GPIO(二)学习BSRR BRR ODR寄存器的原子性和在HAL库的应用
  • 【Go语言-Day 22】解耦与多态的基石:深入理解 Go 接口 (Interface) 的核心概念
  • 【详细笔记】两类曲线积分转换
  • 群组功能实现指南:从数据库设计到前后端交互,上班第二周