本文已参与「新人创作礼」活动,一起开启掘金创作之路。 题目描述
给定 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;
}