唯一分解,上次写的是需要欧拉筛的,这次写了一个不需要欧拉筛的

逆元:(a/b)mod p,因为除法对mod无效,所以使用逆元,对a*(b)^(-1) mod p,b^(-1) mod p 求逆元等于 pow(p,mod-2)%mod,为什么?我现在也不会,记住吧,反正我知道(a/b)mod p没法算就是了

正约数和:(1+p1+p1^2...p1^e1)*..*(1+pm+pm^2+....+pm^em),用逆元和等比数列求和公式做出来

另外有个细节:ans = ans*(xxxxxx)mod p不能写成 ans *= (xxxxxxx)mod p!!!!!!!!!

7-13 m的n次方 (20分)

m的n次方

求m^n的约数个数和约数和。

输入格式:

一行由空格分隔开的两个正整数m,n(m,n≤1000000)

输出格式:

一行两个整数,分别表示m^n的约数的个数和约数和,两个数由 空格分隔开。由于答案可能较大,只需要输出它们对1e9+7取模的 结果即可。

输入样例:

2 2

输出样例:

3 7
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
#define MAXN 1000015
typedef long long ll;
int n,m,mod = 1000000007;
int p[MAXN],e[MAXN];
int tot;
ll ans,result;
void Only(ll x)
{for(int i = 2; i * i <= x; i++){if(x%i) continue;p[++tot] = i;while(x % i == 0){x /= i;e[tot]++;}}if(x != 1){p[++tot] = x;e[tot] = 1;}
}
ll mypow(ll a, ll b)
{ll res = 1;while(b){if(b%2 == 1) res  = (res*a)%mod;a = (a*a)%mod;b /= 2;}return res;
}
int main()
{cin>>m>>n;Only(m);ans = 1;result = 1;for(int i = 1; i <= tot; i++){e[i] = n*e[i];result = result*mypow(p[i]-1,mod-2)%mod*(mypow(p[i],e[i]+1)-1+mod)%mod;ans = ans*(1+e[i])%mod;}cout<<ans<<" "<<result<<endl;return 0;
}

唯一分解,逆元,正约数个数和正约数和,欧拉筛相关推荐

  1. [数论] 约数个数定理与约数和定理

    约数个数定理 对于一个大于1正整数n可以分解质因数: 则n的正约数的个数就是   . 其中a1.a2.a3-ak是p1.p2.p3,-pk的指数. 约数定理证明 首先同上,n可以分解质因数:n=p1^ ...

  2. 约数个数定理约数和定理

    1.如果我们要求一个数的所有因数的个数会怎么去求呢? 首先想到最简单的方法就是暴力求解就可以.当然数据小.或者测试数据少就很简单就可以过了. 2.如果求一个区间内的数的所有因数的个数呢?或者求一个区间 ...

  3. 算法刷题-数论-试除法求约数、约数个数、约数之和、最大公约数(辗转相除法)

    文章目录 acwing869. 试除法求约数 acwing870. 约数个数 acwing871. 约数之和 acwing872. 最大公约数 acwing869. 试除法求约数 acwing869. ...

  4. [数论]线性筛——约数个数与约数和

    参考博客 参考博客 参考博客 这个讲的挺好 预备知识点: 大于1的数n可以分解质因数: n=p1a1×p2a2×p3a3*-*pka n的约数的个数是(a1+1) * (a2+1) * (a3+1)- ...

  5. 约数的和及约数的个数

    约数的和及约数的个数 1.约数的个数等于:所有质因数的指数加上1后的乘积; 若一个数分解质因数后为(am)*(bn),其中a,b均为质因数;m,n均为相应质因数的指数. 则约数个数为(m+1)(n+1 ...

  6. 欧拉函数求互质数的个数

    互质数的个数(一) 思路:欧拉函数. 题目链接 import java.util.Scanner;public class Main{public static void main(String[] ...

  7. 7809 - 试题J:因数个数 25'(欧拉筛法求因子个数)

    链接:http://oj.hzjingma.com/p/7809?view=classic 来源:竞码编程 题目描述   求所有 2 2 2 到 n n n 的整数中,因数个数第 k k k 少的数因 ...

  8. 【超详细】(蓝桥杯Python)阶乘约数:求100阶乘的正约数个数。

    首先,这里涉及到的数学知识有: 1.质数:只能被两个或以下的数整除的数 2.合数:能被三个或以上的数整除的数 3.阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1.(100的阶乘为1x2x3. ...

  9. 完数{一个数如果等于它的因子之和,这个数就称为完数(因子:除去这个数本身正的约数)}

    一个数如果等于它的因子之和,这个数就称为完数(因子:除去这个数本身正的约数) 例如:6=1+2+3.编程,找出1000以内的所有完数 class TestWanShu {public static v ...

  10. 【数学专题】约数个数与欧拉函数

    整理的算法模板合集: ACM模板 目录 一.约数个数 1. AcWing 1291. 轻拍牛头 2. AcWing 1294. 樱花 2.1 AcWing 197. 阶乘分解 3. AcWing 19 ...

最新文章

  1. 【VS实践】代码调试与错误处理
  2. vue知识总结第一篇vue组件的定义以及父子组件的传值。
  3. 在jsp页面实现保存登录用户名和密码
  4. ActiveMQ源码解析 建立连接
  5. 同志亦凡人第五季/全集BQueer As Folk 5迅雷下载
  6. Java中short、int、long、float、double的取值范围
  7. Java 导入导出Excle表格 两种方式
  8. Spring Aop 切点表达式
  9. rake matlab,移动通信系统RAKE接收机的研究,matlab ,rake接收机
  10. Arduino火焰传感器(含代码)
  11. 黑苹果Mac OS 12镜像下载 DMG
  12. leetcode 881 救生艇 (python3- 贪心算法)
  13. 关于某日头条_signature参数逆向生成纯补环境
  14. 1135:配对碱基链
  15. 安装惠普打印机显示等待php,HP打印机安装过程中报错0x000006be的解决方法
  16. 关于STM32串口3的使用,接收并解析一帧数据
  17. 移位运算(左移和右移)
  18. Axure设置导航栏控制页面切换
  19. java读取Excel指定格式的数据
  20. windows消息处理过程及消息钩子

热门文章

  1. 在 lamp(centos)下配置二级 域名 、虚拟主机
  2. unity3D android游戏屏幕分辨率问题【转http://blog.csdn.net/jeksonal/article/details/8501549】...
  3. 运用SQL Server安全模型来保护数据
  4. 为什么使用梯度下降法或者梯度上升法
  5. 拓端tecdat|Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
  6. 拓端tecdat|R语言广义线性模型(GLMs)算法和零膨胀模型分析
  7. 拓端tecdat|使用Python和Keras进行主成分分析、神经网络构建图像重建
  8. CopyQq program山寨QQ项目
  9. 链表的基本操作Basic Operation of LinkList
  10. php yii 控件分页,Yii实现简单分页的方法