您的位置:首页 > 其它

NYOJ 291 LK的数学题

2014-02-14 11:49 190 查看


LK的数学题

时间限制:1000 ms | 内存限制:65535 KB
难度:3

描述
LK最近遇到一个问题,需要你帮她一下。一个整数n,求[1,n)中,和n互素的数的个数。

输入
多组测试数据,每一行有一个整数n(n<1000000001),0表示输入结束。

输出
小于n同时和n互素的整数的个数
样例输入
7
12
0


样例输出
6
4


思路:同NYOJ 479

#include <stdio.h>

int main(void)
{
int i,n,total;
while (scanf("%d", &n) != EOF && n)
{
total = n;
for (i=2; i<=n; i++)
{
if (n % i == 0)
{
total = total / i * (i-1);
}
while (n % i == 0)
{
n /= i;
}
}
printf("%d\n",total);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: