在本文中,我们将学习以下问题陈述的解决方案 - 问题陈述给定多个数字和一个数字输入 n,我们需要打印所有可被 n 整除的数字相乘后的余数。方法首先,计算余数,如 arr[i] % n。然后将此余数乘以当前结果。乘法后,再次取相同的余数以避免溢出。这符合模运算的分配性质。( a * b) % c = ( ( a % c ) * ( b % c ) ) % c示例 实时演示def findremainder(arr, lens, n): mul = ... 阅读更多
在本文中,我们将学习以下问题陈述的解决方案 - 问题陈述给定一个正整数 n。我们需要找到一个数字的最大素因子。方法通过将其除以数字的除数来分解给定的数字输入。现在不断更新最大素因子。示例 实时演示import math def maxPrimeFactor(n): # 数字必须为偶数 while n % 2 == 0: max_Prime = 2 n /= 1 # 数字必须为奇数 for i in range(3, int(math.sqrt(n)) + 1, 2): while n ... 阅读更多
在本文中,我们将学习冒泡排序技术的实现。下图说明了该算法的工作原理 - 方法从第一个元素(索引 = 0)开始,将当前元素与数组的下一个元素进行比较。如果当前元素大于数组的下一个元素,则交换它们。如果当前元素小于下一个元素,则移动到下一个元素。重复步骤 1。现在让我们看看下面的实现 - 示例def bubbleSort(ar): n = len(arr) # 遍历所有数组元素 for i in range(n): # 最后 i 个元素按顺序排列 for j in range(0, n-i-1): ... 阅读更多
在本文中,我们将学习解决给定问题陈述的解决方案和方法。问题陈述 - 我们将得到一个排序列表,我们需要在二分查找的帮助下找到一个元素。算法将 x 与中间元素进行比较。如果 x 与中间元素匹配,则返回中间索引。否则,如果 x 大于中间元素,则 x 只能位于中间元素之后右侧的子数组中。因此,我们对右侧进行递归。否则(x 更小)对左侧进行递归递归算法示例def binarySearchAppr (arr, start, end, x): # 检查... 阅读更多