当前位置: 首页 > 编程笔记 >

从C ++中的除数列表中找到A和B

狄令
2023-03-14
本文向大家介绍从C ++中的除数列表中找到A和B,包括了从C ++中的除数列表中找到A和B的使用技巧和注意事项,需要的朋友参考一下

在本教程中,我们将解决以下问题。

给定一个整数数组,我们必须找到两个数字A和B。数组中所有剩余的数字都是A和B的除数。

如果数字是A和B的除数,则它将在数组中出现两次。

让我们看看解决问题的步骤。

  • 数组中的最大数字是A和B中的数字之一。假设它是A。

  • 现在,B将是第二大数字或不是A除数的数字。

示例

让我们看一下代码。

#include <bits/stdc++++.h>
using namespace std;
void findTheDivisors(int arr[], int n) {
   sort(arr, arr + n);
   int A = arr[n - 1], B = -1;
   for (int i = n - 2; i > -1; i--) {
      if (A % arr[i] != 0) {
         B = arr[i];
         break;
      }
      if (i - 1 >= 0 && arr[i] == arr[i - 1]) {
         B = arr[i];
         break;
      }
   }
   cout << "A = " << A << ", B = " << B << endl;
}
int main() {
   int arr[] = { 3, 2, 3, 4, 12, 6, 1, 1, 2, 6 };
   findTheDivisors(arr, 10);
   return 0;
}
输出结果

如果执行上述程序,则将得到以下结果。

A = 12, B = 6

结论

 类似资料:
  • 我有一个列表和一个字符串数组 我想检查列表A中是否存在元素,删除它,然后删除列表A中数组B中的元素, 如何在Java8中使用流在一行中完成? 这就是从列表A.stream()中删除元素的方式。过滤器(滤芯)-

  • 本文向大家介绍在数组中找到四个元素a,b,c和d,以便在C ++中a + b = c + d,包括了在数组中找到四个元素a,b,c和d,以便在C ++中a + b = c + d的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个整数列表。我们的任务是找到四个不同的整数,分别为(a,b)和(c,d)两对,这样a + b = c + d。如果有多个答案,则仅打印一个。假设数组元素像:A = [7

  • 本文向大家介绍在C ++中找到2 ^(2 ^ A)%B,包括了在C ++中找到2 ^(2 ^ A)%B的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将编写一个程序来计算等式2 ^(2 ^ A)%B。 我们将使用递归函数找到方程的值。让我们看看解决问题的步骤。 编写一个带有2个参数A和B的递归函数。 如果A为1,则将4%B返回为2 ^(2 ^ 1)%B = 4%B. 否则用A-1和b递归

  • 本文向大家介绍在数组中找到最大的d,使得C ++中的a + b + c = d,包括了在数组中找到最大的d,使得C ++中的a + b + c = d的使用技巧和注意事项,需要的朋友参考一下 假设我们有一组整数。我们必须找到一个数字“ d”,其中d = a + b + c,并且必须最大化(a + b + c),所有a,b,c和d都存在于集合中。该集合将至少容纳一个元素,最多可容纳1000个元素。每

  • 几个月前我学习了递归,现在这一切都很混乱。有一个人可以解释我整个功能是如何正常工作的,但我有点明白它是如何工作的,但我认为有些步骤在我的脑海中并不是很清楚。病人的Thx提前。

  • 本文向大家介绍找到gcd(a ^ n,c),其中C,a,n和c在1到10 ^ 9之间变化,包括了找到gcd(a ^ n,c),其中C,a,n和c在1到10 ^ 9之间变化的使用技巧和注意事项,需要的朋友参考一下 我们必须找到两个数字的GCD,其中一个数字可以和(109 ^ 109)一样大,而这些数字不能存储在long或任何其他数据类型中。因此,如果数字为a = 10248585,n = 10000