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


相关推荐

  • 计算机变异指标可以,变异系数公式_在EXCEL中怎样计算样本标准差和变异系数

    计算机变异指标可以,变异系数公式_在EXCEL中怎样计算样本标准差和变异系数一份excel的统计表模板,包含统计频数、最大值、最…一、公式详解1、统计频数:=Count(A:A)统计A列所有数值个数2、最大值:=Max(A:A)3、最小值:=Min(A:A)4、平均值:=Average(A:A)5、标准差:=STDEV.S(A:A)6、变异系数=标准差/平均值=STDEV.S(A:A)/average(A:A)7、修正系数:三、附件变异系数怎么算公式如下:扩展资料变异…

    2022年5月5日
  • 庆祝kkkbo出道!

    庆祝kkkbo出道!希望学编程有始有终,不做弱者,不做断者-常思华联兴之日子,多念华联兴之饭菜,忆图思苦,勉励自身。

    2022年7月3日
  • 计算机网络知识汇总(超详细整理)

    计算机网络知识汇总(超详细整理)为了准备期末考试,同时也是为了之后复习方便,特对计算机网络的知识进行了整理。本篇内容大部分是来源于我们老师上课的ppt。而我根据自己的理解,将老师的PPT整理成博文的形式以便大家复习查阅,同时对于一些不是很清楚的地方,我去查阅了相关资料进行补充,当然也会有部分个人看法夹带其中来帮助大家理解。

    2022年6月14日
  • Matlab中axis函数用法总结[通俗易懂]

    Matlab中axis函数用法总结[通俗易懂]axis主要是用来对坐标轴进行一定的缩放操作,其操作命令主要如下:1、axis([xminxmaxyminymax])设置当前坐标轴x轴和y轴的限制范围2、axis([xminxmaxyminymaxzminzmaxcmincmax])设置x,y,z轴的限制范围和色差范围。3、v=axis返回一个行向量,记录了坐标范围4、axis…

    2022年6月14日
  • 音频可视化图形引擎—Specinker「建议收藏」

    音频可视化图形引擎—Specinker「建议收藏」bo主有话说:喜欢音乐的小伙伴相信都或多或少看到过一些频谱,简单的比如QQ音乐,酷狗等一些音乐软件上面都有一些,可惜的是这些频谱嵌入到软件界面上,好看的就那么一两个,并不能满足一些人对音乐的渴望,至少对我来说,是这样的。当然,还可以使用雨滴,AE来制作非常炫酷的频谱,但是这两个软件却也有一些弊端。通过雨滴,我们可以制作一些悬挂在桌面的频谱,但是制作这样的频谱,需要使用雨滴的编程语法进行开发,这…

    2022年10月12日
  • sp_helptext 查看存储过程内容

    sp_helptext 查看存储过程内容

    2021年4月27日

发表回复

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

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