| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 149651 | 徐英杰 | 15求两个数的最大公约数 | C++ | Accepted | 1 MS | 272 KB | 805 | 2026-03-15 15:20:02 |
#include <iostream> #include <stack> using namespace std; stack<char> st; int main() { /* 求a,b的最大公约数: 分析:a,b的最大公约数最大可能是a和b中小的那个; 否则就是最靠近a,b中较小值的且能被a,b同时整除a,b的那个数 */ int a,b; cin>>a>>b; //确保a>b if (a > b) { int t = a; a = b; b = t; } //最大公因数是两个数中较小的那个 if (a % b == 0) { cout<<b; return 0; } //最大公因数同时小于a,b,则是同时整除a,b的最靠近b的那个 for (int i = b;i >= 1;i--) { if (a % i == 0 && b % i == 0) { cout<<i; return 0; } } cin>>a>>b; }