PAT 1017 A除以B:这就是一个高精度的除法问题,贪心代码的长度,所以我直接用string类型输入操作了,结果都是一样的。
所谓高精度,就是用数组,来完成比较长的数字的计算,就像我们小学的时候列竖式求解加减乘除法一样,应该来说看一眼代码就能够理解。
#include#include using namespace std; int main() { string str; int len, num = 0, divi, flag = 0; int i, ans = 0; cin >> str >> divi; len = str.size(); for (i = 0; i < len; i++) { num = num * 10 + str[i] - '0'; ans = num / divi; num = num % divi; if (ans > 0) flag = 1; if (flag) cout << ans; } if (flag == 0) cout << 0; cout << " " << num; //while (1) //{ //} return 0; }