以下是使用 C++ 解决此问题的代码: ```cpp #include <iostream> #include <vector> using namespace std; int gcd(int a, int b) { while (b!= 0) { int temp = b; b = a % b; a = temp; } return a; } int solve(int n, int m) { if (m % n!= 0) { return -1; } int count = 0; int num = n; while (num!= m) { for (int y = 1; y <= m; y++) { int newNum = num * gcd(num, y); if (newNum <= m && newNum > num) { num = newNum; count++; break; } } if (num == m) { break; } } return count; } int main() { int t; cin >> t; while (t--) { int n, m; cin >> n >> m; cout << solve(n, m) << endl; } return 0; } ``` [2024-09-28 15:37:18 | AI写代码神器 | 293点数解答]