GitHub

统计长方形和正方形 1408

题目描述:

有一 n × m 的方格棋盘 (1 <= m, n <= 1000),求出该棋盘中包含正方形、长方形(不包含正方形)的数量。

输入描述:

输入两个用空格分开的正整数 n 和 m,分别表示棋盘的宽和高。

输出描述:

占一行,两个用一个空格正整数,表示正方形和长方形的数量。

样例输入:

3 2

样例输出:

8 10

注意需要定义的数据的整型还是长整形,长整形与整型数据运算会有错误

 1 #include<iostream>
 2 using namespace std;
 3 int main(){
 4     unsigned long long n,m,i,j,min;
 5     cin>>n>>m;
 6     unsigned long long s=0,ss=0,t=0;
 7     if(n<m){
 8         min=n;
 9     }
10     else{
11         min=m;
12     }
13     for(unsigned long long i=1;i<=min;i++){
14         s=s+(n-i+1)*(m-i+1);
15     }
16     ss=(n*(n+1))*(m*(m+1))/4;
17     t=ss-s;
18     cout<<s<<' '<<t<<endl;
19     return 0;
20 }
#include<iostream>
using namespace std;
int main(){
    unsigned long long n,m,i,j,s1=0,s2=0;
    cin>>n>>m;
    for(long long i=1;i<=min(n,m);i++)
    s1+=(m-i+1)*(n-i+1);
    s2=(n+1)*(m+1)*n*m/4;
    cout<<s1<<' '<<s2-s1;
}

 

posted @ 2019-06-23 21:11  繁华似锦觅安宁  阅读(344)  评论(0编辑  收藏  举报