UVA-10177
题意:求变长为n的正方形,正方体,四维n*n*n*n中有分别多少个正方形,非正方形的矩形,正方体,非正方体立体和正四维体,非正四维体。
解题思路:对于变长为n正方形来说,里面正方形个数为r2=1*1+2*2+……+n*n ,所有矩形个数为 t=(1+2+3+……+n)^2,非正方形个数 s2 = t - r2。三维四维同理推得。
/*************************************************************************
> File Name: UVA-10177.cpp
> Author: Narsh
>
> Created Time: 2016年07月15日 星期五 09时55分04秒
************************************************************************/
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
long long r2[120],s2[120],r3[120],s3[120],r4[120],s4[120];
int n;
int main () {
r2[0]=s2[0]=r3[0]=s3[0]=r4[0]=s4[0]=0;
for (int 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;
long long j = i*(i+1)/2;
r2[i] = j*j -s2[i];
r3[i] = j*j*j - s3[i];
r4[i] = j*j*j*j - s4[i];
}
while (scanf("%d",&n) != EOF){
printf("%lld %lld %lld %lld %lld %lld\n",s2[n],r2[n],s3[n],r3[n],s4[n],r4[n]);
}
}