Codeforces Round #400 (Div. 1 + Div. 2, combined) E. The Holmes Children
来源:互联网 发布:ssh项目源码 编辑:程序博客网 时间:2024/05/22 03:54
The Holmes children are fighting over who amongst them is the cleverest.
Mycroft asked Sherlock and Eurus to find value of f(n), where f(1) = 1 and for n ≥ 2, f(n) is the number of distinct ordered positive integer pairs (x, y) that satisfy x + y = n and gcd(x, y) = 1. The integer gcd(a, b) is the greatest common divisor of a and b.
Sherlock said that solving this was child's play and asked Mycroft to instead get the value of . Summation is done over all positive integers d that divide n.
Eurus was quietly observing all this and finally came up with her problem to astonish both Sherlock and Mycroft.
She defined a k-composite function Fk(n) recursively as follows:
She wants them to tell the value of Fk(n) modulo 1000000007.
A single line of input contains two space separated integers n (1 ≤ n ≤ 1012) and k (1 ≤ k ≤ 1012) indicating that Eurus asks Sherlock and Mycroft to find the value of Fk(n) modulo 1000000007.
Output a single integer — the value of Fk(n) modulo 1000000007.
7 1
6
10 2
4
In the first case, there are 6 distinct ordered pairs (1, 6), (2, 5), (3, 4), (4, 3), (5, 2) and (6, 1) satisfying x + y = 7 and gcd(x, y) = 1. Hence, f(7) = 6. So, F1(7) = f(g(7)) = f(f(7) + f(1)) = f(6 + 1) = f(7) = 6.
#include <bits/stdc++.h>using namespace std;const int MOD = 1000000007;long long Euler(long long x) { long long ans = x, i; for(i = 2; i*i <= x; ++i) { if(x%i == 0){ ans = ans - ans/i; while(x%i == 0)x /= i; } } if(x > 1) { ans = ans - ans / x; } return ans;}int main() { ios::sync_with_stdio(false); long long n, k; cin >> n >> k; while(k>0 && n>1) { if(k & 1) n = Euler(n); k--; } cout << n % MOD << endl; return 0;}
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) E. The Holmes Children
- Codeforces Round #400 (Div. 1 + Div. 2, combined) E. The Holmes Children
- Codeforces Round #400 (Div. 1 + Div. 2, combined) 776E. The Holmes Children(待翻译)
- codeforces Round 400 E-The Holmes Children
- Codeforces Round #400 E. The Holmes Children (欧拉)
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) 题解(A-E)
- Codeforces Round #400 (Div. 1 + Div. 2, combined)D
- Codeforces Round #400 (Div. 1 + Div. 2, combined) C
- Codeforces Round #400 (Div. 1 + Div. 2, combined)D
- Codeforces Round #400 (Div. 1 + Div. 2, combined) D. The Door Problem 开关--并查集
- Codeforces Round #400 (Div. 1 + Div. 2, combined) 776D. The Door Problem(待翻译)
- codeforces round 400 E The Holmes Children 数学 欧拉函数
- Codeforces Round #397 by Kaspersky Lab and Barcelona Bootcamp (Div. 1 + Div. 2 combined) E
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) E
- Codeforces Round #438 (Div. 1 + Div. 2 combined) ABCDF
- Codeforces Round #438 (Div. 1 + Div. 2 combined)
- Codeforces Round #438 (Div. 1 + Div. 2 combined) 总结
- Codeforces Round #400 (Div. 1 + Div. 2, combined)D. The Door Problem【2-sat Tarjan+思维建图】
- Git – fatal: Unable to create ‘/.git/index.lock’: File exists错误解决办法
- 基于Qt的TCP链接
- (转)Android TextView背景色、圆角、内部填充设置
- 磁盘配额
- 算法复杂度分析
- Codeforces Round #400 (Div. 1 + Div. 2, combined) E. The Holmes Children
- Java中的ReentrantLock和synchronized两种锁定机制的对比
- 《Thinking in Java》学习笔记(1)
- NOIP 2016 普及组 复赛 pencil 买铅笔
- 深度学习(14):Control
- JVM-class文件结构解析
- IOCP编程小结(上)
- 数据库中的空值与NULL的区别以及python中的NaN和None
- 20170306 小兵的觉悟就是好好吃饭