你有一个边长相等的n*m的格子(1<n,m<1000),你的任务是计算由这些格子组成的正方形

如题所述

计算由这些格子组成的正方形有多少个。是吗?
设n<=m
边长为一的正方形有n*m个;
边长为二的正方形有(n-1)*(m-1)个;
边长为三的正方形有(n-2)*(m-2)个;
.................................
边长为n的正方形有[m-(n-1)]个;
共有n*m+(n-1)*(m-1)+(n-2)*(m-2)+......+[m-(n-1)]个;
假如n=m则n²+(n-1)²+(n-2)²+......+1=n(n+1)(2n+1)/6个;
假如n=m-1则(n+1)*n+n*(n-1)+(n-1)*(n-2)+......+2*1=n(n+1)(n+2)/3个;
假如n=m-2则(n+2)*n+(n+1)*(n-1)+n*(n-2)+......+3*1=n(n+1)(2n+7)/6个;
....................................追问

我说的是c++程序谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-23
晕了 !!! 我数学是最差的