【2015NOIP普及组】T1 金币

P2669 金币
题目传送门
方法一:

#include
#include
#include
#include
#include
#include
#include
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);
using namespace std;
const int MAX=2147483647;
const int N=1e6;
int k,ans;
int main()
{
	//fre();
	cin>>k;
	for(int i=1;;i++)
	{
		ans+=(i*i);
		k-=i;
		if(k<(i+1)) {ans+=((i+1)*k); break;}
	}
	cout<<ans;
	return 0;
}

方法二:

#include
#include
#include
#include
#include
#include
#include
#define fre(x) freopen(#x".in","r",stdin),freopen(#x".out","w",stdout);
using namespace std;
const int MAX=2147483647;
const int N=1e6;
int k,t=1,ans,jb=1;
int main()
{
	//fre();
	cin>>k;
	for(int i=1;i<=k;i++)
	{
		t--;
		ans+=jb;
		if(!t)	t=++jb;	
	}
	cout<<ans<<endl;
	return 0;
}

你可能感兴趣的:(CSP-J普及组,模拟)