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;
}

不夠耐心,這種題調試了那麼久

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