今天,我尝试自己设计最大公因数程式码,打得落落长一大堆if, else,不亦乐乎,结果测试结果失败,所幸对了50%的测试(这哪好?,我卡在若输入二数值是质数与质数相乘的情况(7x13 VS 7x17),答案会是错的gcd = 1,这是因为,我只有设定2, 3, 5数值,其他就没有设定,且我不知道除了暴力解还能怎么办,所以我上网找答案,结果找到了一个令我为之震撼的超简洁程式码:
网址:https://takamai.pixnet.net/blog/post/34642223
#include<iostream> using namespace std; int gcd(int, int); int main() { int m = 0; int n = 0; cout << "输入两数:"; cin >> m >> n; cout << "GCD: " << gcd(m, n) << endl; return 0; } int gcd(int m, int n) { int r = 0; while(n != 0) { r = m % n; m = n; n = r; } return m; }