📜  计算具有偶数和的整数对(1)

📅  最后修改于: 2023-12-03 15:12:01.653000             🧑  作者: Mango

计算具有偶数和的整数对

介绍

对于给定的正整数n,计算具有偶数和的整数对(i,j),满足1 <= i < j <=n。

本文将提供两种算法实现:

  1. 常规算法

  2. 数学思路

常规算法

对于每个i,我们可以枚举j,并计算它们的和。如果和是偶数,则将它们存储为一个整数对。时间复杂度为O(n^2)。

代码片段
pairs = []
for i in range(1, n+1):
    for j in range(i+1, n+1):
        if (i+j) % 2 == 0:
            pairs.append((i,j))
数学思路

我们可以根据奇偶性来计算整数对的数量。当n是偶数时,整数对的数量为n(n-2)/4,当n是奇数时,数量为(n-1)(n-3)/4。时间复杂度为O(1)。

代码片段
if n%2 == 0:
    pairs_count = n*(n-2)/4
else:
    pairs_count = (n-1)*(n-3)/4