题目大意:给定一个n*n的方格,然后求解其在二维、三维和四维空间中包含的正方形(体)和长方形(体)分别是多少....
这几天很郁闷,一个球的速度分解始终出错....
推论如下:d维空间中一个定点与2^d个格相邻,对于正方形(体)是在原来的基础上+n^d,n 为方格长度...然后计算共有多少个方格(体),减去正方体(形)的个数就是长方形(体)的个数了,总格数=(n+1)^d*n^d/(2^d);
代码:
Submission ID: 320725
Problem ID: 111206
Code:
#include<stdio.h>
#include<string.h>
int main()
{
int i;
double a1[105],a2[105],b1[105],b2[105],c1[105],c2[105];
a1[0]=a2[0]=b1[0]=c1[0]=b2[0]=c2[0]=0;
for(i=1;i<=100;i++)
{
a1[i]=a1[i-1]+i*i;
a2[i]=(i+1)*i/2.0*(i+1)*i/2.0-a1[i];
b1[i]=b1[i-1]+i*i*i;
b2[i]=(i+1)*i/2.0*(i+1)*i/2.0*(i+1)*i/2.0-b1[i];
c1[i]=c1[i-1]+i*i*i*i;
c2[i]=(i+1)*i/2.0*(i+1)*i/2.0*(i+1)*i/2.0*(i+1)*i/2.0-c1[i];
}
while(scanf("%d",&i)!=EOF)
printf("%0.0f %0.0f %0.0f %0.0f %0.0f %0.0f\n",a1[i],a2[i],b1[i],b2[i],c1[i],c2[i]);
return 0;
}
|