题解 | #尼科彻斯定理#
尼科彻斯定理
http://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
#include <string.h>
// m是奇数 m2 m-1 /2 左右
// m是偶数 m2+1 m2-1 m/2
int main()
{
int m;
while (scanf("%d", &m) != EOF)
{
int array[m + 1];
if (m % 2 == 1)
{
int temp = (m + 1) / 2;
array[temp] = m * m;
for (int i = 1; i <= m / 2; i++)
{
array[temp - i] = m * m - 2 * i;
array[temp + i] = m * m + 2 * i;
}
}
if (m % 2 == 0)
{
for (int i = 1; i <= m / 2; i++)
{
array[(m + 2 - 2 * i) / 2] = m * m - 2 * i + 1;
array[(m + 2 * i) / 2] = m * m + 2 * i - 1;
}
}
for (int i = 1; i <= m - 1; i++)
{
printf("%d+", array[i]);
}
printf("%d\n", array[m]);
}
return 0;
}