uva-10177 - (2/3/4)-D Sqr/Rects/Cubes/Boxes?

数学公式题:

在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;
}


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值