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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WebView输入框提示

    做基于WebView应用时,页面上有一个输入框,当输入的文字过多时,超过输入框的行数时,输入框能够滚动,这时间问题来了,输入的提示箭头会移动到输入框外,如何解决这个问题呢,查找chromium源码如下

    2021年12月26日
    43
  • Django框架—目录文件简介

    1.创建工程2.工程目录结构3.各文件作用:1manage.py2init.py3settings.py该Django项目(此处是mysite)的设置文件或配置文件。 重要

    2022年3月29日
    53
  • burpsuite 越权_挖洞经验 | 用BurpSuite实现越权漏洞(IDOR)的自动发现识别

    burpsuite 越权_挖洞经验 | 用BurpSuite实现越权漏洞(IDOR)的自动发现识别这里分享一个自动化发现IDOR(越权)漏洞的方法,那就是在BurpSuite中利用Autozie和Autorepeater插件实现IDOR漏洞的探测识别,而无需针对每个请求手动去变化参数或请求。IDOR(越权)漏洞:也称“不安全的直接对象引用”,场景发生于当用户对内部资源的访问请求,或基于用户提供的输入对象进行访问时,服务端未进行合理的权限验证,导致当前用户可以未经授权访问获取到不属于自己账户权限…

    2022年6月4日
    71
  • 主机通过虚拟机上网「建议收藏」

    主机通过虚拟机上网「建议收藏」实现结果:WIN7X64主机通过XPMODE虚拟机共享上网大家现在总会碰到各种蛋疼的拨号软件、终端认证软件,而你偏偏又是用4G、8G内存装的是64位的系统或者是LINUX等非主流系统。这时候通过虚拟机32位的XP拨号、认证算是一种无奈的办法。虚拟机通过主机上网的办法是满天飞啦,可是主机通过虚拟机上网的办法我是在网上暂时没有找到。所以我自己为这个也是研究了好几天,终于倒腾出来了,和大家分享一下

    2022年5月12日
    41
  • java-多态

    java-多态

    2021年9月29日
    49
  • UE4 Slate四 SlateUI如何做动画「建议收藏」

    UE4 Slate四 SlateUI如何做动画「建议收藏」原创文章,转载请注明出处。点击观看上一篇《UE4Slate三SlateUI代码讲解》点击观看下一篇《UE4Slate五开篇》虚幻引擎SlateUI介绍1>前言2>SlateAnimation代码1>前言我们都知道在UMG里面如何创建一个UMG的动画,其实就是时间帧动画。那么在Slate纯手写的代码上如何做动画呢?2>SlateAnimation代码…

    2022年10月4日
    3

发表回复

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

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