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

#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char const *argv[])
{
	int n,k,a=0,b=0,ai=0,bi=0;
	cin >> n >> k;
	for(int i = 1;i <= n;i++)
	{
		if(i%k==0)a+=i,ai++;
		else b+=i,bi++;
	}
	double ax = 1.0*a/ai;//这里使用1.0强制转换后AC
	double bx = 1.0*b/bi;
	cout << fixed << setprecision(1) << ax << " " << bx;

	return 0;
}

使用C++ 的STL vector更方便


#include <bits/stdc++.h>
using namespace std;
vector<int> a,b;
int main(int argc, char const *argv[])
{
	int n ,k;cin >> n >> k;
	for(int i = 1;i <= n;i++)
		if(i%k==0)a.push_back(i);
		else b.push_back(i);
	// for(int i=1;i<=n;++i)i%k?b.push_back(i):a.push_back(i);//存下所有数
		printf("%.1lf %.1lf\n", accumulate(a.begin(),a.end(),0)*1.0/a.size(),
			accumulate(b.begin(),b.end(),0)*1.0/b.size());
	
	 

	return 0;
}

不够耐心,这种题调试了那么久

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章