题解:P5719 【深基4.例3】分类平均
yuxinrui0618 · · 题解
题解:P5719 【深基4.例3】分类平均
Update 2025.09.20:原程序中变量
1. 题目大意
- 求
n 个数中可以被k 整除的数的平均值和其他数的平均值。
2. 思路
- 平均值的求法:用数的总和除以数的个数;
- 用变量
s1 表示能被k 整除的数的个数,c1 表示能被k 整除的数的总和; - 用变量
s2 表示不能被k 整除的数的个数,c2 表示不能被k 整除的数的总和; - 对于每个数,判断是否能被
k 整除; - 若可以,就将
s1 加一,c1 加上这个数; - 若不可以,就将
s2 加一,c2 加上这个数; - 注意由于输出要求,需使用
double类型。
3. 代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,s1=0,s2=0;
double c1=0,c2=0;
cin>>n>>k;
for (int i=1;i<=n;i++)
{
if (i%k==0) //是否为 k 的倍数
{
s1++;
c1+=i;
}
else
{
s2++;
c2+=i;
}
}
printf("%.1lf %.1lf",c1/s1,c2/s2); //或 cout<<fixed<< setprecision(1)<<c1/s1<<" "<<c2/s2;
return 0;
}
4. 总结
谢谢观赏!
若有不完善的地方还请各位大佬指出!