P5719 【深基4.例3】分类平均

127 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 题目描述

给定 n(n\le10000)n(n≤10000) 和 k(k\le 100)k(k≤100),将从 1 到 nn 之间的所有正整数可以分为两类:A 类数可以被 kk 整除(也就是说是 kk 的倍数),而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 位,用空格隔开。

数据保证两类数的个数都不会是 0。 输入格式

无 输出格式

无 输入输出样例

输入 #1复制

100 16

输出 #1复制

56.0 50.1

#include<iostream>
using namespace std;
int main()
{
	int x, y;
	cin >> x >> y;
	int sum1 = 0, sum2 = 0,num1=0,num2=0;
	float ave1, ave2;
	for (int i = 1; i <= x; i++)
	{
		if (i % y == 0)
		{
			sum1 += i;
			num1++;
		}
		else
		{
			sum2 += i;
			num2++;
		}
	}
	ave1 =(float)sum1/ num1;
	ave2 = (float)sum2/ num2;
	printf("%.1f %.1f", ave1, ave2);
	return 0;
}