思路:-
- 首先可以知道最少动就是从三个角对称的划分
- 因为不是对称划分则会出现破坏了正三角,后面还要重新对好
- 之后就可以进行推导(按三角形我没看懂)
- 其中设底上截出来的三角形的底为i,则上面就是n-2*i-1;
- 所以动的数就可以算出来:[6*i^2+(4-4n)i+(n *n -n)]/2;
- 最小就是i=(4*n-4)/12;
#include<math.h>
int main(){
int n,sum;
while(~scanf("%d",&n)){
double j=1.0*(4*n-4)/12;
int i=floor(j+0.5);
sum=(6*i*i+(4-4*n)*i+(n*n-n))/2;
printf("%d\n",sum);
}
}
标签:12,int,sum,ZCMU,1110,三角形
From: https://www.cnblogs.com/hai-zei/p/18146682