其他分享
首页 > 其他分享> > 递推

递推

作者:互联网

公式一

等差数列求和:

((1+n)*n/2)

公式二

题目描述

设有一个N×M方格的棋盘( l≤ N≤100,1≤M≤100)。求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。
例如:当 N=2, M=3时:
正方形的个数有8个:即边长为1的正方形有6个;边长为2的正方形有2个。
长方形的个数有10个:即2×1的长方形有4个;1×2的长方形有3个;3×1的长方形有2个;3×2的长方形有1个。

输入

N和M两个整数。

输出

正方形的个数与长方形的个数。

样例

输入

2 3

输出

8 10

题解

#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
int n,m,a,b,numr,nums;
int main(){
	cin>>n>>m;
	a=n,b=m;
	numr=((1+n)*n/2)*((1+m)*m/2);//矩形个数 
	while(a>=1&&b>=1){
		nums+=a*b;
		a--,b--;
	}//正方形个数 
	numr-=nums;//长方形个数 
	cout<<nums<<" "<<numr;
    return 0;
}

标签:numr,nums,int,个数,长方形,正方形,递推
来源: https://www.cnblogs.com/hnzzlxs01/p/16655943.html