GitBook

这里写图片描述 这里写图片描述

有大量的重复计算 所以感觉还是打表好一些

#include<stdio.h>
int main() {
	int T,kase=0;
	scanf("%d",&T);
	int a[320]= {0,3};
	int b[320]= {0,3};
	for(int i=2; i<320; i++) {
		a[i]=i*(a[i-1]/(i-1)+i+1);
	}
	for(int i=2; i<320; i++) {
		b[i]=b[i-1]+a[i];
	}
	while(T--) {
		int n;
		scanf("%d",&n);
		printf("%d %d %d\n",++kase,n,b[n]);
	}
	return 0;
}

标程只用了一个表 应该是找规律时直接从结果下手的

#include<iostream>
using namespace std;
const int M=310;
int W[M];
int main() {
	for(int i=1; i!=M; i++)
		W[i]=W[i-1]+i*(i+1)*(i+2)/2;
	int m,n;
	cin>>n;
	for(int i=1; i<=n; i++) {
		cin>>m;
		cout<<i<<" "<<m<<" "<<W[m]<<endl;
	}
}

题目记录:【NYOJ】[122]Triangular Sums