您的位置:首页 > 其它

nyoj 333 mdd的烦恼

2014-05-03 12:57 295 查看
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=333

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int Slove_Euler(int n)
{
int i, res;
res = n;
for(i = 2; i*i <= n; ++i)
{
if(n%i == 0)
{
res = res/i*(i-1);
while(n%i == 0)
n /= i;
}
}
if(n != 1)
res = res/n*(n-1);
return res;
}

int main()
{
int n;
while(~scanf("%d", &n))
printf("%d\n", Slove_Euler(n));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: