在Python中找到具有相同乘积的元组的程序
假设我们有一个唯一正值的数组nums,我们必须找到元素为nums的a、b、c、d的元组(a,b,c,d),使得ab = cd,其中所有元素a,b,c和d都是不同的。
因此,如果输入是像nums=[2,3,4,6],那么输出将是8,因为我们可以获得如(2,6,3,4),(2,6,4,3),(6,2,3,4),(6,2,4,3),(3,4,2,6),(4,3,2,6),(3,4,6,2),(4,3,6,2)的元组。
要解决此问题,我们将按照以下步骤操作−
- dic:=一个空映射,如果某个键不存在,则默认值为0
- ans:=0
- 对于i在0到nums大小-2的范围内,执行
- 对于j在i+1到nums大小的范围内,执行
- dic[nums[i]nums[j]]:=dic[nums[i]nums[j]]+1
- 对于j在i+1到nums大小的范围内,执行
- 对于dic的所有值的列表中的每个v,执行
- 如果v与1相同,则
- 进入下一个迭代
- v:=v-1
- s:=(v/2)(8+8v)
- ans:=ans+s
- 如果v与1相同,则
- 返回整数ans
例子
让我们看看以下实现,以获得更好的理解−