在本教程中,我们将查找数组中的分隔点,其中分隔点左侧的所有元素都较小,分隔点右侧的所有元素都较大。让我们看看解决问题的步骤。初始化数组。遍历数组。从 0 到 I 遍历并检查每个值是否小于当前值。从 I 到 n 遍历并检查每个值是否大于当前值。如果两个条件都满足,则返回该值。打印分隔点。示例让我们看看代码。 实时演示#include ... 阅读更多
在本教程中,我们将找到一个数字,其包括其数字在内的总和等于给定数字 N。思路很简单,我们将检查给定数字左右 100 个数字。它不会超出该范围,因为 N ≤ 1000000000 且总和不会超过 100。让我们看看解决问题的步骤。初始化数字。编写一个循环,迭代 100 次。获取 n - i 和 n + i 值。查找数字之和并将其相加。如果其中任何一个等于 N,则打印它们。示例让我们看看... 阅读更多
在本教程中,我们将找到一个数字,该数字可以整除给定数组中的最多元素。让我们看看解决问题的步骤。初始化数组和一个变量以存储结果。遍历数组。初始化计数器变量。再次遍历数组。如果当前元素可以被数组元素整除,则递增计数器。如果当前计数最大,则更新结果。打印结果。示例让我们看看代码。 实时演示#include using namespace std; int numberWithMaximumMultiples(int arr[], int n) { int result = -1; for (int i = 0; i < n; i++) { int count = 0; for (int j = 0; j < n; j++) { if (arr[j] % arr[i] == 0) { count++; } } if (count > 0 && (result == -1 || count > 0)) { result = arr[i]; } } return result; } int main() { int arr[] = {3, 2, 1, 4, 5, 6, 7}; int n = sizeof(arr) / sizeof(arr[0]); int ans = numberWithMaximumMultiples(arr, n); cout << "The number that divides the maximum array elements is: " << ans << endl; return 0; } ... 阅读更多
在本教程中,我们将编写一个程序来计算方程 2^(2^A) % B。我们将使用递归函数来找到方程的值。让我们看看解决问题的步骤。编写一个接收 2 个参数 A 和 B 的递归函数。如果 A 为 1,则返回 4 % B,因为 2^(2^1) % B = 4 % B。否则,使用 A-1 和 b 递归调用该函数。返回 result^2%B。打印解决方案示例让我们看看代码。 在线演示#include using namespace std; long long solveTheEquation(long long A, long long B) { // 2^(2^1) % B = 4 ... 阅读更多