喵哈哈村小学上课啦

发布时间: 2017年5月23日 20:20   最后更新: 2017年5月23日 20:20   时间限制: 1000ms   内存限制: 128M

描述

数学课上,小学生刚学会了乘除法。老师问了他们一系列这样的问题:给一个正整数N,答案要为小于N的正整数,比如N = 4,

老师会问:1乘以几除以4余1?

小学生回答:1!

老师继续问:2乘以几除以4余1?

小学生回答:没有!

老师继续问:3乘以几除以4余1?

小学生回答:3!

月亮是众小学生之一,他觉得这个问题太简单了,于是就想,对于一个N,如果老师从1 问到 N-1(乘以几除以N余1),那么所有答案的和是多少,如果答案是”没有”则认为答案是0。

输入

一个整数 T,表示数据组数

之后的T行,每行一个整数N

2 <= N <= 1000000000,T <= 10。

输出

共T行,每行一个整数,表示和

样例输入1 复制

1
4

样例输出1

4

欧拉函数:

目的:

对于正整数x,求小于x的数中与x互质的数的数目

公式:

ϕ(x) = x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn)

其中p1,p2…pn为x的所有质因数

性质:

①一个数的所有与其互质的数之和是ϕ(n)*n/2

②如果n和m互质,那么φ(mn) = φ(n)*φ(m)

③若n是质数p的k次幂(即n=p^k),φ(n) = p^k-p^(k-1)= (p-1)*p^(k-1)

④若n和p互质,那么n^φ(p)%p==1

⑤当n>=2时,φ(p)一定为偶数

(好怀念,想想欧拉函数可是我接触ACM后学的第一个新知识)

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

喵哈哈村小学上课啦(欧拉函数)相关推荐

  1. poj2154-color-polyan次二面体+欧拉函数优化

    N<=1e9,O(nlogn)的做法会超时.从枚举置换转变为枚举轮换长度,然后可以利用欧拉函数,把复杂度变为O(√n * logn) 1 /*-------------------------- ...

  2. hdu 1286( 欧拉函数 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...

  3. 费马定理中值定理_数论-欧拉函数、欧拉定理

    欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...

  4. poj2154(Polya+欧拉函数优化模版)

    #include <cstdio> #include <cstring> #include<iostream> using namespace std; const ...

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

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

  6. 【数学知识】三种方法求 [1,n] 中所有数欧拉函数(线性筛欧拉函数优化至 O(n) )

    整理的算法模板合集: ACM模板 ①直接求小于或等于n,且与n互质的数个数(求[1,n]中所有数的欧拉函数时间复杂度:O(nn)O(n\sqrt{n})O(nn​)) ②求[1,n]之间每个数的质因数 ...

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

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

  8. hdu1695(莫比乌斯)或欧拉函数+容斥

    题意:求1-b和1-d之内各选一个数组成数对.问最大公约数为k的数对有多少个,数对是有序的.(b,d,k<=100000) 解法1: 这个能够简化成1-b/k 和1-d/k 的互质有序数对的个数 ...

  9. POJ 2480 (约数+欧拉函数)

    题目链接: http://poj.org/problem?id=2480 题目大意:求Σgcd(i,n). 解题思路: 如果i与n互质,gcd(i,n)=1,且总和=欧拉函数phi(n). 如果i与n ...

最新文章

  1. android 设置布局横屏竖屏
  2. Redis (error) NOAUTH Authentication required.解决方法
  3. rosetta软件_苹果 Mac 换用 ARM,但不用担心跑 X86 软件会卡
  4. spark源码解析之scala基本语法
  5. 动态链接MFC引发的血案
  6. 转折后的总结--2014年找工作
  7. 分布式 集群 系统组件架构_分布式跟踪系统的四个组件如何一起工作
  8. Dell服务器RAID常用管理命令总结
  9. 用计算机乘九位数怎么用,用计算器计算
  10. JDK1.8 Linux Windows 网盘下载
  11. 程序员微信头像_哪些微信头像一看就是程序员?
  12. rx560d linux 图形设计,RX 560D对比RX 560哪个好?RX560D与560的区别对比详细评测
  13. python 两个nc文件 风场,ECMWF 不同step 的 NC 文件如何合并
  14. java 学习资料 分享
  15. 刚刚,神舟十三号载人飞船即将撤离空间站核心
  16. 卡尔曼滤波原理及公式推导
  17. c语言abs和fabs的区别是什么?
  18. Java 13 明天发布,最新最全新特性解读
  19. 替换字符串中的英文括号为其他字符串
  20. flink理论干货笔记(6)

热门文章

  1. python-成都Python课程
  2. python安装后如何使用-python如何安装下载后的模块
  3. 一种基于地图导航的语音识别管理系统的制作方法
  4. 怎么让某段css代码只在Chrome 火狐 edge 浏览器生效
  5. 逆置单链表c语言程序,逆置单链表C语言
  6. atxserver运行没有反应_关于厌氧反应器的酸化现象与恢复措施!
  7. 关于用iframe大框架覆盖小框架的问题
  8. python中惩罚的代码_如何只为在python中使用的实现支付依赖惩罚?
  9. 【linux笔记】linux权限命令
  10. android计算汇率代码,android studio 开发实例 连接网络获取汇率