Rectangle

xiaoxiao2021-02-27  232

#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; num/=10; if(sum[i]=='\0') { sum[i]='0'; } temp1=sum[i]+temp+Attack-'0'; Attack=(temp1)/10; sum[i]=(temp1)+'0'; } int index=size1; while(Attack>0) { if(sum[index]=='\0') { sum[index]='0'; } int temp=sum[index]+Attack-'0'; sum[index]=temp+'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; }
转载请注明原文地址: https://www.6miu.com/read-12057.html

最新回复(0)