📌  相关文章
📜  可以将N的方式分为四个部分以构造一个矩形

📅  最后修改于: 2021-05-06 10:27:51             🧑  作者: Mango

给定一个整数N ,任务是将数字分成四部分,以便可以将所划分的部分用于构造矩形而不是正方形。查找其中有多少种方式,以便满足条件的数量可以被除以。
例子:

方法:由于必须对数字进行除法,以使矩形由除以的四个部分组成,因此,如果数字为奇数,则路数将为零,因为矩形的周长始终是偶数
现在,如果n是偶数,那么只有(n – 2)/ 4种方法可以将数字相除,例如,
如果将8分为四部分,则只有(8 – 2)/ 4 = 1种方式,即[1,1,3,3] ,就没有其他方式了。这是因为您只能将边长<= n / 2 – 1形成有效的矩形,并且从这n / 2 – 1个矩形中将计数再次除以2,以避免重复计数。
下面是上述方法的实现:

C++
// C++ implementation of the approach
#include 
using namespace std;
 
// Function to return the
// required number of ways
int cntWays(int n)
{
    if (n % 2 == 1) {
        return 0;
    }
    else {
        return (n - 2) / 4;
    }
}
 
// Driver code
int main()
{
    int n = 18;
 
    cout << cntWays(n);
 
    return 0;
}


Java
// Java implementation of the approach
class GFG
{
     
    // Function to return the
    // required number of ways
    static int cntWays(int n)
    {
        if (n % 2 == 1)
        {
            return 0;
        }
        else
        {
            return (n - 2) / 4;
        }
    }
     
    // Driver code
    public static void main (String[] args)
    {
        int n = 18;
     
        System.out.println(cntWays(n));
 
    }
}
 
// This code is contributed by AnkitRai01


Python3
# Python 3 implementation of the approach
 
# Function to return the
# required number of ways
def cntWays(n) :
    if n % 2 == 1 :
        return 0
    else:
        return (n - 2) // 4
         
# Driver code
n = 18
print(cntWays(n))
 
# This code is contributed by
# divyamohan123


C#
// C# implementation of the approach
using System;
     
class GFG
{
     
    // Function to return the
    // required number of ways
    static int cntWays(int n)
    {
        if (n % 2 == 1)
        {
            return 0;
        }
        else
        {
            return (n - 2) / 4;
        }
    }
     
    // Driver code
    public static void Main (String[] args)
    {
        int n = 18;
     
        Console.WriteLine(cntWays(n));
    }
}
 
// This code is contributed by 29AjayKumar


Javascript


输出:
4

时间复杂度: O(1)