题解 | #尼科彻斯定理#
尼科彻斯定理
https://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
#include <stdio.h> int main() { int m;//记录待计算的数据 //因为对于任意的m,m%2==0时其中轴m^2一定为偶数 //否则为奇数,因此只需要输出对应的等差数列即可 scanf("%d",&m); //if(m%2==0){ for(int i=-(m-1);i<m;i+=2){ if(i==-(m-1)) printf("%d",m*m+i); else printf("+%d",m*m+i); } //} // else{ // for(int i=-(m-1);i<m;i+=2){ // if(i==-(m-1)) // printf("%d",m*m+i); // else // printf("+%d",m*m+i); // } // } printf("\n"); return 0; }
数学计算一下中轴的位置,最开始考虑需要进行奇偶数的分别考虑,后来发现奇偶数都是一致的
中轴的位置是m*m,奇数偏移2*m/2及m-1个单位,偶数偏移2*m/2-1即m-1个单位。