C++ 求解小明 a+b 练习抽题全对概率:代码及改进建议
以下是解决此问题的 C++ 代码: ```cpp #include <iostream> int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); } void solve(int n, int m) { double p = static_cast<double>(m) / n; double res = 1; for (int i = 0; i < 3; ++i) { res *= p; } if (res == 1) { std::cout << 1 << std::endl; } else if (res == 0) { std::cout << 0 << std::endl; } else { int num = static_cast<int>(res * 1000000); int den = 1000000; int g = gcd(num, den); std::cout << num / g << "/" << den / g << std::endl; } } int main() { int k; std::cin >> k; while (k--) { int n, m; std::cin >> n >> m; solve(n, m); } return 0; } ``` 以下是三个改进建议: 1. 可以添加一些输入错误处理,比如当输入的 n 或 m 不符合要求时给出提示。 2. 可以将 `gcd` 函数提取为一个单独的头文件,以提高代码的可维护性。 3. 对于输出的分数形式,可以添加一些注释来解释其含义,增强代码的可读性。 ######[AI写代码神器 | 390点数解答 | 2024-12-27 17:56:25]
- Python实现好友通讯录信息增删改查功能,附示例代码( | 1248点数解答 | 2024-04-23 17:34:25)302
- C++实现计算字符矩阵中十字图形个数(字节豆包 | 333点数解答 | 2026-03-14 19:46:38)45
- C++实现矩阵中十字图形个数的计算(字节豆包 | 847点数解答 | 2026-03-14 20:19:15)44
- C++计算字符矩阵中十字图形个数的实现与开发建议(字节豆包 | 720点数解答 | 2026-04-10 19:42:04)31
- C++程序:计算字符矩阵中'#'构成的十字图形个数(字节豆包 | 425点数解答 | 2026-04-24 19:19:07)21
- 大学生日常花销记账App开发:测试部署与后端开发工作全揭秘(百度文心 | 612点数解答 | 2024-05-15 18:59:38)362
- JS 代码:轻松定义变量 test 并赋值为“red”( | 6点数解答 | 2024-05-19 20:46:45)395
- JS 代码:轻松定义含“Saab、Volvo、BMW”的数组变量 mycars( | 14点数解答 | 2024-05-19 20:47:47)428
- JS 代码:判断“red”改值为“green”并弹窗显示结果( | 176点数解答 | 2024-05-20 21:33:04)431
- 用 JS 代码巧妙判断 a 与 b 关系:输出对应结果 ( | 47点数解答 | 2024-05-20 22:10:14)340
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)496
- JS 巧用 for in 循环逐行输出对象 key:value,还有关键判断!( | 208点数解答 | 2024-05-20 22:15:55)375