AC代码
#include <stdio.h>
int main()
{
long long t, x, y, n, a, b, c;
scanf("%lld", &t); // 输入测试用例的数量
while (t--)
{
scanf("%lld%lld%lld", &x, &y, &n); // 输入三个整数 x、y 和 n
if (x == 0 || y == 0)
{
printf("0"); // 如果 x 或 y 为 0,则直接输出 0
}
else
{
a = x + 1;
b = y + 1;
while (b != 0)
{
c = a % b;
a = b;
b = c;
}
// 计算最大公约数 a
printf("%lld\n", (n / ((x + 1) * (y + 1) / a) * 36)); // 输出结果
}
}
return 0;
}
该代码的功能是根据输入的三个整数 x、y 和 n,计算出一个值并输出。具体的计算逻辑如下:
- 首先判断 x 和 y 是否为 0,如果其中任何一个为 0,则直接输出 0。
- 如果 x 和 y 都不为 0,则计算 x+1 和 y+1 的最大公约数 a。
- 根据公式
(n / ((x + 1) * (y + 1) / a) * 36)
计算结果,并将结果输出。
(by 归忆)