【NYOJ】[1121]Triangular Sums

文章字数:169

问题描述

问题分析

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#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;
}

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#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;
	}
}

题目记录:Triangular Sums

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...