数学公式题:
在N边的正方形,正方体,超正方体(4维平面),内分别有多少个正方形(体,超体),长方形(体,超体);
对于N边的正方形,所含有依次从1~N边长的正方形为:N*N+(N-1)*(N-1)+…………2*2+1*1;
同理可知,正方体,超正方体,依次为从1到N的三次方和,四次方和。
对于N边的正方形,所含的矩形的数目为I*J(其中I的范围是1~N,J的范围也是1~N)之和,即为(i*(i+1)/2)*(i*(i+1)/2),所以其所含的长方形的数目为矩形的数目减去正方形的数目。
同理可知,正方体,超正方体。所含的长方形的和。
#include<stdio.h>
#include<math.h>
int main()
{
long long i,n;
long long s2[101],s3[101],s4[101];
long long r2[101],r3[101],r4[101];
s2[0]=0;s3[0]=0;s4[0]=0;
for(i=1;i<=100;i++)
{
s2[i]=s2[i-1]+i*i;
s3[i]=s3[i-1]+i*i*i;
s4[i]=s4[i-1]+i*i*i*i;
r2[i]=(i*(i+1)/2)*(i*(i+1)/2)-s2[i];
r3[i]=(i*(i+1)/2)*(i*(i+1)/2)*(i*(i+1)/2)-s3[i];
r4[i]=(i*(i+1)/2)*(i*(i+1)/2)*(i*(i+1)/2)*(i*(i+1)/2)-s4[i];
}
while(scanf("%lld",&n)!=EOF)
{
printf("%lld %lld %lld %lld %lld %lld\n",s2[n],r2[n],s3[n],r3[n],s4[n],r4[n]);
}
return 0;
}