假设我们有一个数字 N。我们必须找到 1 到 N 范围内的近似素数。当一个数字恰好有两个不同的因子时,它被称为近似素数。这些数字可以有任意数量的非素数因子,但必须是两个素数因子。因此,如果 N 为 2,则输出将为 2。有两个数字 6 和 10。在这里,我们将使用埃拉托色尼筛法。请检查以下实现以获得更好的了解。示例 实时演示#include #define N 100005 using namespace std; bool prime[N]; void SieveOfEratosthenes() { for(int i = 0; i
假设我们有两个字符串 A 和 B。A 和 B 的长度相同。在一次移位中,我们可以将字符串 B 旋转一个元素。我们必须找到从 A 和 B 获取最大长度的公共前缀所需的最小移位次数。因此,如果 A = “computerprogramming”,而 B = “programminglanguage”,则最小移位次数为 8,前缀为“programming”。假设我们在 B 的末尾添加字符串 B,所以 B = B + B,那么就不需要分别查找每个移位的前缀。因此,我们必须找到最长的前缀 ... 阅读更多
假设我们有一个包含 n 个数字的数组。我们必须找到数组中所有至少有两个更大元素的元素。如果数组类似于 A = [2, 8, 7, 1, 5],则结果将为 [2, 1, 5]要解决此问题,我们将找到第二大的元素,然后打印所有小于或等于第二大值的元素。示例#include using namespace std; void searchElements(int arr[], int n) { int first_max = INT_MIN, second_max = INT_MIN; for (int i = 0; i < n; i++) { if (arr[i] > first_max) ... 阅读更多