int modd(int x, int y)
{
int sign;
if (x > y)
{
sign = x;
x = y;
y = sign;
}
//sign为余数的标志符号
while (x != 0)
{
sign = y % x;
y = x;
x = sign;
}
return (y);
}
int main()
{
int a, i, b,counter;
counter = 0;
scanf("%d", &a);
for(i=1;i<=a;i++)
{
b = modd(a, i);
if (b == 1)
{
counter = counter + 1;
}
i++;
}
printf("%d", counter);
return 0;
}
没有报错,但总是无法输出正确结果,如13的欧拉函数应该是12输出却为6