Petya360 @ 2024-12-15 22:59:36
求助,好像是最后精度有点问题?
#include <bits/stdc++.h>
using namespace std;
int A[100000], B[100000];
int main()
{
int n, m;
cin >> n >> m;
int j = 0, k = 0; // j 表示A组序数, k表示B组序数
for (int i = 1; i <= n; i++)
{
if (i % m == 0)
{
j++;
A[j] = i;
}
else
{
k++;
B[k] = i;
}
}
double ansA = 0.0, ansB = 0.0;
int toA, toB;
for (int i = 1; i <= j; i++)
{
toA = toA + A[i];
}
for (int i = 1; i <= k; i++)
{
toB = toB + B[i];
}
ansA = toA * 1.0 / j, ansB = toB * 1.0 / k;
cout << fixed << setprecision(1) << ansA << " " << ansB;
return 0;
}
by luanjunyan @ 2024-12-15 23:58:37
@Petya360 6,首先你样例都没过,并不是精度问题。
你累加的时候初始值 = 0 设了吗?
by Petya360 @ 2024-12-16 13:22:18
@luanjunyan 之前在本地测的数据 用在线ide发现数据就不对了
看来是没有初始化习惯的问题,感谢