HDU 6051 If the starlight never fade(原根+欧拉函数)
来源:互联网 发布:linux编译c文件 编辑:程序博客网 时间:2024/05/16 18:45
Description
f(i)为满足,求,结果模1e9+7
Input
第一行一整数T表示用例组数,每组用例输入两个整数m和p,p是素数 (2<=m<=p-1,2<=p<=1e9+7)
Output
对于每组用例,输出的值,结果模1e9+7
Sample Input
3
5 7
3 11
2 103
Sample Output
Case #1: 210
Case #2: 390
Case #3: 50388
Solution
Code
#include<cstdio>using namespace std;typedef long long ll;const int mod=1e9+7;int phi(int n){ int ans=n; for(int i=2;i*i<=n;i++) if(n%i==0) { ans=ans/i*(i-1); while(n%i==0)n/=i; } if(n>1)ans=ans/n*(n-1); return ans;}int Solve(int n){ int ans=0; for(int i=1;i*i<=n;i++) { int j=n/i; if(i*j==n) { ans+=((ll)j*phi(j)+(j==1))/2%mod*i*i%mod; if(ans>=mod)ans-=mod; if(i!=j) { ans+=(((ll)i*phi(i)+(i==1))/2)%mod*j*j%mod; if(ans>=mod)ans-=mod; } } } ans-=((ll)n*(n+1)/2)%mod; if(ans<0)ans+=mod; return ans;}int main(){ int Case=1,T,m,p; scanf("%d",&T); while(T--) { scanf("%d%d",&m,&p); printf("Case #%d: %d\n",Case++,(ll)m*Solve(p-1)%mod); } return 0;}
阅读全文
1 0
- HDU 6051 If the starlight never fade(原根+欧拉函数)
- hdu 6051 If the starlight never fade [欧拉函数] [2017 Multi-University Training Contest
- HDU 6051原根 + 欧拉函数
- poj1284(欧拉函数、原根)
- POJ 1284 Primitive Roots (原根,欧拉函数)
- POJ 1284 Primitive Roots 原根(欧拉函数)
- poj 1284 Primitive Roots(原根+欧拉函数)
- POJ 1284 原根(欧拉函数)
- poj1284 Primitive Roots(原根,欧拉函数)
- POJ1284 Primitive Roots (欧拉函数 & 原根)
- Primitive Roots +欧拉函数+原根
- poj1284Primitive Roots【欧拉函数 原根】
- poj-1284(欧拉函数+原根)
- 原根,欧拉函数,欧拉定理,费马小定理
- hdu 2824 The Euler function(欧拉函数)
- HDU 4002 Find the maximum(数论-欧拉函数)
- HDU-#2824 The Euler function(欧拉函数+筛法)
- HDU 2824 The Euler function(欧拉函数)
- PHP基本格式与PHP变量、常量
- IntelliJ IDEA 2017.2 注册方法
- 手写HashMap实现
- 编程灵异事件簿(一)
- hdu 4549 M斐波那契数列(矩阵乘法+降幂公式)
- HDU 6051 If the starlight never fade(原根+欧拉函数)
- java基础
- 确实该往深处钻钻了
- 模板--并查集
- Linux运维学习笔记之一:运维的原则和学习方法
- 简单实现双链表---学习
- 开源车牌识别项目,OpenALPR
- git 提交代码remote: error:updating the current branch in a non-bare repository is denied
- Map-Reduce和Spark