思路:
这就是一个高精度的除法问题,贪心代码的长度,所以我直接用string类型输入操作了,结果都是一样的。
所谓高精度,就是用数组,来完成比较长的数字的计算,就像我们小学的时候列竖式求解加减乘除法一样,应该来说看一眼代码就能够理解。
代码:
#include<iostream>
#include<string>
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;
}