#include<iostream>
using namespace std;
#include<stdio.h>
#include<string.h>
char sum[10000];
int flag=0;
int weishu(long long n)
{
int zhi=0;
while(n!=0)
{
n=n/10;
zhi++;
}
return zhi;
}
void add(long long num)
{
flag=1;
int temp=0,temp1;
int Attack=0;
int size1=weishu(num);
for(int i=0;i<=size1-1;i++)//多一次循环
{
temp=num%10;
num/=10;
if(sum[i]=='\0')
{
sum[i]='0';
}
temp1=sum[i]+temp+Attack-'0';
Attack=(temp1)/10;
sum[i]=(temp1)%10+'0';
}
int index=size1;
while(Attack>0)
{
if(sum[index]=='\0')
{
sum[index]='0';
}
int temp=sum[index]+Attack-'0';
sum[index]=temp%10+'0';
Attack=temp/10;
index++;
}
}
int main()
{
int n,m,k;
long long num=0;
while(scanf("%d%d%d",&n,&m,&k)==3)
{
flag=0;
memset(sum,'\0',sizeof(sum));
int minx=n<((k/2)-1)?n:((k/2)-1);//取这两个最小的哪一个
for(int x=1;x<=minx;x++)
{
long long y=min(m,k/2-x);
long long a=n-x+1;
long long b=(m+m-y+1)*y/2;
add(a*b);
}
if(flag)
{
for(int i=strlen(sum)-1;i>=0;i--)
printf("%c",sum[i]);
printf("\n");
}
else
printf("0\n");
}
return 0;
}
Rectangle
最新推荐文章于 2021-04-10 08:54:18 发布