可以轻易的知道以某个小三角行为顶点的三角形的个数,然后再求和即可
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
int sum=0;
for (int i=1;i<=n;i++){
sum+=i*(n-i+1);
}
for (int i=1;i<n;i++){
if (i&1){
sum+=((1+i/2)*(i/2)+(i+1)/2);
}
else
{
sum+=(1+i/2)*(i/2);
}
}
printf("%d\n",sum);
}
return 0;
}
本文介绍了一种高效算法,通过简单的数学运算,快速计算以某个小三角行为顶点的三角形总数。利用循环和条件判断,实现代码简洁高效。
413

被折叠的 条评论
为什么被折叠?



