C++描述杭电OJ 2015.偶数求和 ||
Problem Description
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
Input
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。
Sample Input
3 2
4 2
Sample Output
3 6
3 7
代码实现.
#include<iostream>
using namespace std;
class Solution //这里以创建类方法解决
{
public :
void solution() //声明public函数
{
int n,m;
while(cin >> n >> m)
{
double avg ;
int num = 2;
while(1)
{
if(n<=m)
{//如果最后不足m个或等于m个在这里计算平均值,并输出
avg = 0;
for(int i = 1; i <= n; i++)
{
avg=avg+num;
num=num+2;
}
cout << avg / n << endl;
break;
}
else
{//多于m个在这里计算平均值,并输出
avg = 0;
for(int j = 1; j <= m; j++)
{
avg=avg+num;
num=num+2;
}
cout << avg / m << " " ;
n = n - m;
}
}
}
}
};
int main()
{
Solution solu;//定义类对象solu
solu.solution();//调用对象solu中的solution()方法
return 0;
}