hdu 1286 (欧拉函数)

hdu 1286 (欧拉函数)

对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。

此题题意正是求这个函数

 

         φ函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,

  
adee30dd80a43c938d102997.jpg

Euler函数

         x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。 (注意:每种质因数只一个。比如12=2*2*3

     那么φ(12)=12*(1-1/2)*(1-1/3)=4)

     若n是质数p的k次幂,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1),因为除了p的倍数外,其他数都跟n互质。

     欧拉函数是积性函数——若m,n互质,φ(mn)=φ(m)φ(n)。

     特殊性质:当n为奇数时,φ(2n)=φ(n), 证明于上述类似。

http://baike.baidu.com/view/107769.htm#sub107769

自己写的186MS,欧拉函数写的15MS,但是还有cow 0MS过的,YM……

 

ContractedBlock.gif
ExpandedBlockStart.gif
AC代码


#include
<
iostream
>

#include

<
cmath
>

#include

<
cstring
>


using

namespace
std;


int
main()
{


int
i,n,m,cas,num;

int
yue[
1000
];
scanf(


%d

,
&
cas);

while
(cas

)
{

scanf(


%d

,
&
n);
num

=
0
;
m

=
n;

for
(i
=
2
;i
<=
sqrt((
double
)m);i
++
)
{


if
(m
%
i
==
0
)
{

yue[num

++
]
=
i;
m

/=
i;
}

while
(m
%
i
==
0
)
{

m

/=
i;
}
}

if
(m
!=
1
){

yue[num

++
]
=
m;
}

double
b
=
double
(n);

for
(i
=
0
;i
<
num;i
++
)
{

b

*=
(
1

1.0
/
(
double
)yue[i]);
}
cout

<<
int
(b)
<<
endl;

}

return

0
;
}

 

转载于:https://www.cnblogs.com/cykun/archive/2011/04/18/2020288.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110632.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 逆变器运用到的c语言算法,详解六种逆变电源的控制算法[通俗易懂]

    逆变器运用到的c语言算法,详解六种逆变电源的控制算法[通俗易懂]在电路中将直流电转换为交流电的过程称之为逆变,这种转换通常通过逆变电源来实现。这就涉及到在逆变过程中的控制算法问题。本文引用地址:http://www.eepw.com.cn/article/201710/366918.htm只有掌握了逆变电源的控制算法,才能真正意义上的掌握逆变电源的原理和运行方式,从而方便设计。在本篇文章当中,小编将对逆变电源的控制算法进行总结,帮助大家进一步掌握逆变电源的相关…

    2022年5月17日
    69
  • 常见电容器图片_电容分类图片-各种电容器图片[通俗易懂]

    常见电容器图片_电容分类图片-各种电容器图片[通俗易懂]《电容分类图片-各种电容器图片》由会员分享,可在线阅读,更多相关《电容分类图片-各种电容器图片(7页珍藏版)》请在人人文库网上搜索。1、电容分类图片-各种电容器图片第1幅图1胆电容。图2灯具电容器。图3MKPH电容。图4MET电容。图5,10PEI电容,图6,胆贴片电容。图7MPE电容。图8贴片电容。图11轴向电解电容器。图12MPP电容第2幅图1PPN电容。图2PET电容…

    2022年8月22日
    7
  • Visual Studio 2019 Community 离线注册教程「建议收藏」

    Visual Studio 2019 Community 离线注册教程「建议收藏」VS2019社区版是免费的,但是需要登录微软账户,不登录只能使用30天,30天之后就无法使用了,如下图:首先使用能够访问外网的电脑登录微软账户注册VS。也可以使用我这个Licensing,直接进入第三步 找到注册文件,路径:C:\Users\{系统登录用户}\AppData\Local\Microsoft\VSCommon 将两个文件夹复制到需要注册的电脑上,路径:C:\…

    2022年10月13日
    5
  • 各种聚类算法(原理+代码+对比分析)最全总结「建议收藏」

    各种聚类算法(原理+代码+对比分析)最全总结「建议收藏」序言还是要持续总结,持续积累。一、聚类的目标使同一类对象的相似度尽可能地大;不同类对象之间的相似度尽可能地小。二、聚类算法分类1.基于划分给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K<N。特点:计算量大。很适合发现中小规模的数据库中小规模的数据库中的球状簇。算法:K-MEANS算法、K-MEDOIDS算法、CLARANS算法2….

    2022年6月8日
    58
  • gcc离线安装 ubuntu 不用编译_「ubuntu安装gcc」ubuntu18.04安装gcc详细步骤(附问题集) – seo实验室…[通俗易懂]

    gcc离线安装 ubuntu 不用编译_「ubuntu安装gcc」ubuntu18.04安装gcc详细步骤(附问题集) – seo实验室…[通俗易懂]ubuntu安装gcc首先是下载gcc包,可以在GCC的官方网站http://gcc.gnu.org/下载到各个版本。目前最高版本是gcc-8.2.0。一、在安装gcc前,需要先安装MPFR、GMP和MPCGCC编译需要mpfr和mpc(–>gmp、–>mpfr)库的支持,依次安装这几个库,其中mpfr可直接安装,安装mpc依赖mpfr和gmp库(对版本有要求,建议安装最…

    2022年7月24日
    34
  • MATLAB函数fir1「建议收藏」

    MATLAB函数fir1「建议收藏」fir1基于窗函数的fir滤波器设计;主要形式:b=fir1(n,Wn)b=fir1(n,Wn,ftype)b=fir1(___,window)b=fir1(___,scaleopt)系数的含义n—滤波器阶数。Wn—截止频率,0≤Wn≤1,Wn=1对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=[W1W2],W1≤…

    2022年7月17日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号