#CCF4622. [GESP202506六级] 最大因数

[GESP202506六级] 最大因数

题目背景

2025 年 06 月 GESP C++ 六级编程第 2 题

题目描述

给定一棵有 10910^9 个结点的有根树,这些结点依次以 1,2,,1091, 2, \dots, 10^9 编号,根结点的编号为 11。对于编号为 kk2k1092 \leq k \leq 10^9)的结点,其父结点的编号为 kk 的因数中除 kk 以外最大的因数。

现在有 qq 组询问,第 ii1iq1 \leq i \leq q)组询问给定 xi,yix_i, y_i,请你求出编号分别为 xi,yix_i, y_i 的两个结点在这棵树上的距离。两个结点之间的距离是连接这两个结点的简单路径所包含的边数。

输入格式

第一行,一个正整数 qq,表示询问组数。

接下来 qq 行,每行两个正整数 xi,yix_i, y_i,表示询问结点的编号。

输出格式

输出共 qq 行,每行一个整数,表示结点 xi,yix_i, y_i 之间的距离。

样例

3
1 3
2 5
4 8
1
2
1
1
120 650
9

数据范围

对于 60%60\% 的测试点,保证 1xi,yi10001 \leq x_i, y_i \leq 1000

对于所有测试点,保证 1q10001 \leq q \leq 10001xi,yi1091 \leq x_i, y_i \leq 10^9