2705: [SDOI2012]Longge的问题

Time Limit: 3 Sec  Memory Limit: 128 MB
Submit: 3077  Solved: 1914
[Submit][Status][Discuss]

Description

Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N)。

Input

一个整数,为N。

Output

一个整数,为所求的答案。

Sample Input

6

Sample Output

15

题目中求∑Gcd(i, n)

因为n过大所以没法暴力,但是Gcd(i, n)的取值一定只可能是n的因数,所以可以暴力n的因数,然后判断这个因数总共出现多少次

假设Gcd(i, n)==k,那么显然Gcd(i/k, n/k)==1,所以只要求出与n/k互质的有多少个数就好了,即求出ϕ(n/k)

欧拉函数:http://blog.csdn.net/jaihk662/article/details/72668327

最后全部加在一起

#include<stdio.h>
#define LL long long
LL Phi(LL x)
{LL i, now = x;for(i=2;i*i<=x;i++){if(x%i==0){now = now/i*(i-1);while(x%i==0)x /= i;}}if(x>1)now = now/x*(x-1);return now;
}
int main(void)
{LL n, i, ans;while(scanf("%lld", &n)!=EOF){ans = 0;for(i=1;i*i<=n;i++){if(n%i==0)ans += i*Phi(n/i);if(n%i==0 && i*i<n)ans += n/i*Phi(i);}printf("%lld\n", ans);}return 0;
}

bzoj 2705: [SDOI2012]Longge的问题(欧拉函数)相关推荐

  1. BZOJ2705 [SDOI2012]Longge的问题 欧拉函数

    Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 3874  Solved: 2469 [Submit][Status][Discuss] Descrip ...

  2. 【bzoj2705】[SDOI2012]Longge的问题 欧拉函数

    题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). 输入 一个整数,为N. 输出 ...

  3. bzoj 2705: [SDOI2012]Longge的问题——欧拉定理

    Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). Input 一 ...

  4. bzoj 1409 Password 矩阵快速幂+欧拉函数

    可以发现,该数组的mi就是斐波那契数列 所以要矩阵快速幂搞出第n位 但是斐波那契数列上涨的很快,这就需要欧拉定理了 p^phi(q)%q=1(gcd(p,q)==1) p是素数,所以可以用 然后需要5 ...

  5. POJ - 2480 Longge's problem(欧拉函数+唯一分解定理)

    题目链接:点击查看 题目大意:给出一个n,求 题目分析:因为N到了二的三十二次方,所以直接暴力肯定会T,这里介绍两种方法,都可以做实现这个题目 首先我们需要转化一下这个题目,先说一下优化过后的暴力枚举 ...

  6. POJ-2480 Longge's problem 欧拉函数

    详见代码: #include <cstdlib> #include <cstring> #include <cstdio> #include <cmath&g ...

  7. BZOJ - 2186 欧拉函数

    题目的意思大概是求1~N!中和M!互质的数的个数 因为对欧拉函数理解不够深刻所以我是分析得到结果的: 当N<=M的时候显然符合要求的数的个数为0: 当N>M的时候我们要求的是1~N!中不含 ...

  8. bzoj 3884: 上帝与集合的正确用法(欧拉函数)

    3884: 上帝与集合的正确用法 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 2574  Solved: 1151 [Submit][Status] ...

  9. bzoj 2818 欧拉函数

    思路:就是对于某个数q,跟他互质的数p,kp和kq的最大公约数是k,那么这个数能组成的答案的数量就是phi[i]乘以某个质数,且乘积小于n 基于这种思路写下这个代码 #include <cstd ...

最新文章

  1. JDBC,JdbcTemplate,JPA傻傻分不清楚
  2. Py中re.sub学习【转载】
  3. Java线程:线程栈模型与线程的变量
  4. mysql数据库version版本控制_MySQL数据库版本控制
  5. mojang官方正版服务器,《我的世界》如果Mojang上线最新版本,你最想要的是哪种版本更新...
  6. Makefile .PHONY用法
  7. 重新回归最初始的51单片机,跟我一起学单片机吧(内含单片机驱动、烧录软件、程序开发软件的安装和使用)
  8. nagios——短讯报警
  9. 人工神经网络理论及应用,人工智能神经网络论文
  10. 上海科技大学信息科学与技术研讨会(SSIST day1) 笔记
  11. html自动排版 vs,Visual Stidio Code (vscode)自定义HTML页面自动生成格式
  12. 学习笔记(01):通俗易懂的Bootstrap视频课程(适合初学者的教程)-图标、下拉菜单、按钮组...
  13. java 文件夹排序,Java文件夹排序(先文件夹排序,后文件排序)
  14. Minimum supported Gradle version is 5.4.1. Current version is 4.10.1. If using the gradle wrapper
  15. 【算法】动态规划之计算二项式系数(C++源码)
  16. Ai智能语音机器人系统搭建和私有云部署
  17. 请假系统jsp mysql_[源码和文档分享]基于JSP和MYSQL数据库实现的请假管理系统
  18. 什么是openshift
  19. HTML之FrameSet,Frame和Iframe区别
  20. camunda7、camunda8对比分析,哪个版本好

热门文章

  1. java static关键字_Java基础:static关键字作用总结
  2. JS小案例-文本切换效果
  3. MySQL 用gourp by分组后取某一字段最大值
  4. html5期末考试题答案,HTML5期末考试题型
  5. java线程池饱和策略_干货:Java几种线程池的分析和使用。
  6. 【MYSQL快速入门】常用函数:日期函数
  7. 【贪心】蓝桥2019:最大降雨量
  8. LeetCode 525 连续数组/剑指 Offer II 011. 0 和 1 个数相同的子数组
  9. python笔记:random模块中的函数
  10. doxygen 无法生成图片_设计稿智能生成代码如何识别组件?Imgcook 3.0 解析