酷代码 AI
菜单
服务商

C++ 破解「gfoi round 1」星际难题:将正整数 n 变 m 的最小操作次数求解

以下是使用 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; } ``` ######[AI写代码神器 | 293点数解答 | 2024-09-28 15:37:18]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]