极冰企鹅 @ 2023-06-27 20:15:23
#include <bits/stdc++.h>
using namespace std;
int main() {
long long n, k, ca = -1, cb = -1, a = 0, b = 0;
cin >> n >> k;
while (n--) {
if (n % k == 0) {
// A类数
ca++;
a += n;
} else {
// B类数
cb++;
b += n;
}
}
cout << fixed << setprecision(1) << (a*1.0) / ca << ' ' << (b*1.0) / cb << endl;
}
by 极冰企鹅 @ 2023-06-27 20:19:14
用for循环就没有问题
#include <bits/stdc++.h>
using namespace std;
int main() {
long long ca = 0, cb = 0, a = 0, b = 0;
int n, k;
cin >> n >> k;
for (int i=1;i<=n;i++) {
if (i % k == 0) {
// A类数
ca++;
a += i;
} else {
// B类数
cb++;
b += i;
}
}
cout << fixed << setprecision(1) << (a * 1.0) / ca << ' ' << (b * 1.0) / cb << endl;
}
by 极冰企鹅 @ 2023-06-27 20:24:51
明白了,下面两个脚本运行的结果不一样。
while(n--){
cout<<n<<endl;
}
while(n){
cout<<n<<endl;
n--;
}
by sunnygreen @ 2023-06-27 21:18:51
while(n--)
执行完