问题 C: 验证欧拉函数

问题 C: 验证欧拉函数

时间限制: 1 Sec  内存限制: 256 MB
提交: 34  解决: 17
[提交][状态][讨论版][命题人:]

题目描述

欧拉函数的定义是:对于正整数n,φ(n)表示小于或等于n的正整数中与n互质的数的个数。例如,φ(1)=1,因为1只与自己互质;φ(6)=2,因为与6互质的数有1和5;φ(10)=4,因为与10互质的数有1、3、7、9。

欧拉函数的计算公式为:φ(n) = n * (1 - 1/p1) * (1 - 1/p2) * ... * (1 - 1/pk),其中p1, p2, ..., pk是n的质因数。例如,φ(10) = 10 * (1 - 1/2) * (1 - 1/5) = 4。

为了验证欧拉函数公式是否正确,给定n个整数,用枚举方法来求出n个整数的欧拉函数。简单化讲:此题不需要考虑公式,给定x,求出[1,x]中与x的互质的个数即可。

输入

第一行:一个整数n,表示测试组数

接下来有n行,每行一个整数x,表示要求整数

输出

一共q行,每行一个整数,表示x的欧拉函数

样例输入

3
1
6
10

样例输出

1
2
4

提示


1<=n<=100



1<=x<=1000

[提交][状态]