暴力模拟除法过程
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define ll long long
const int maxn = 100;
const int N = 30; //保留的位数
ll ans[maxn];
void chufa(ll sum, ll x, ll num)
{
int cnt = 0;
ans[cnt++] = sum / x;
sum = sum % x;
for(int i = 1; i <= num; i++){
sum = sum * 10;
ans[cnt++] = sum / x;
sum = sum % x;
}
if(ans[31] >= 5){ //四舍五入
ans[30]++;
}
for(int i = 30; i >= 1; i--){
if(ans[i] > 9){
ans[i - 1]++;
ans[i] %= 10;
}
else{
break;
}
}
}
int main()
{
int T;
cin >> T;
while(T--){
ll n;
cin >> n;
memset(ans, 0, sizeof(ans));
ll sum1 = 0, sum2 = 0, a;
for(int i = 0; i < n; i++){
cin >> a;
sum1 += a;
}
for(int i = 0; i < n; i++){
cin >> a;
sum2 += a;
}
chufa(sum1 * sum2, n, N + 1);
printf("%lld.", ans[0]);
for(int i = 1; i <= 30; i++){
printf("%lld", ans[i]);
}
printf("\n");
}
return 0;
}