本文为:c++约分程序(简易)的优化版
题目
#include <iostream>
using namespace std;
int main() {
int a, b;
char xian;
cin >> a >> b;
if(a%b==0)
{
cout<<a/b<<"/"<<"1";
return 0;
}
for (int i = 1; i > 0; ++i){
if (a * b == 0) {
cin >> a >> b;
} else {
break;
}
}
if (a < b || a * b != 0) {
for (int i = 2; i <= a; ++i) {
if (a % i == 0 && b % i == 0) {
a /= i;
b /= i;
} else {
continue;
}
}
for (int i = a; i >= 2; --i) {
if (a % i == 0 && b % i == 0) {
a /= i;
b /= i;
} else {
continue;
}
}
} else if (a > b || a * b != 0) {
for (int i = 2; i <= b; ++i) {
if (a % i == 0 && b % i == 0) {
a /= i;
b /= i;
break;
} else {
break;
}
}
for (int i = b; i >= 2; --i) {
if (a % i == 0 && b % i == 0) {
a /= i;
b /= i;
} else {
continue;
}
}
}
if (a == b ) {
cout << a << endl;
} else if (b == 1) {
cout << a << endl;
} else {
cout<< a << "/" << b << endl;
}
return 0;
}