题解 P5719 【【深基4.例3】分类平均】
博客食用更佳~
水题,就是个水题,没有任何思维难度,代码量也不大的一道题,本文适合任何新手
思路:
先说一下,平均数就是是指在一组数据中所有数据之和再除以这组数据的个数 (来自百度百科)
↑ 上面那句其实是废话
那怎么算出和呢?让
for (int i = 1; i <= n; i++) {
if (i % k == 0)
sum += i;
}
但是,这样是极其浪费时间的,我们要珍惜时间!一寸光……(咳咳,走错片场了)
其实可以从
for (int i = k; i <= n; i += k)
sum += i;
不能被
那么这组数据的个数又怎么求呢,这甚至不用循环!(zyx
能被
这样这道题就已经解出来了,直接上代码
# include <iostream>
# include <stdio.h>
using namespace std;
int n, k, sum;
int main () {
scanf ("%d%d", &n, &k);
for (int i = k; i <= n; i += k)
sum += i;
printf ("%.1f ", double (sum) / (n / k)); // 精确到小数点后 1 位,直接 %.1f 即可
sum = (1 + n) * n / 2 - sum;
printf ("%.1f\n", double (sum) / (n - n / k));
return 0;
}