回 帖 发 新 帖 刷新版面

主题:超难题目

[em36]
    谁会编这道题目!
    输入一个N*M的长方形,输出它有几个长方形和几个正方形.

回复列表 (共4个回复)

沙发

以什么为单位分割?

题目是不是该详细一点?

输入一个N*M的长方形(N,M为正整数),
以1为单位将这个长方形纵横分割,
求这个网状图形中能找到多少个长方形和多少个正方形?
(长方形计数中包含正方形).

排列组合问题.但是要注意立体图形.

板凳

假如我没有理解错题意的话:

1. 定位这个网状图形的点
2. 长方形存在于不在同一水平线和垂直线上的两点
   (线不作为长方形的特殊形式)
   (为了不计算重复,以小的点为起点角,大的点为终点角)
3. 正方形就是两个点的距离相等.

知道这几个特点,就容易得多了.
deflng a-z
input "N,M",N,M
dim s(N,M)
for i=0 to N
  for j=0 to M
    for k=(i+1) to N
      for l=(j+1) to M
        c=c+1
        if k-i=l-j then z=z+1
next l,k,j,i
print "长方形有";c;"个"
print "正方形有";z;"个"

这是穷举的办法,
至于数学方法嘛.....汗!!!!!!!!!!!!!!!!   不好意思,书没读好.

3 楼

很简单,如果M=N,长方形0个正方形1个,如果不是则长方形1个正方形0个[em12]

4 楼

谢谢你,moz.

我来回复

您尚未登录,请登录后再回复。点此登录或注册