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

转换数组,以使数组的GCD在C ++中变为1

糜野
2023-03-14
本文向大家介绍转换数组,以使数组的GCD在C ++中变为1,包括了转换数组,以使数组的GCD在C ++中变为1的使用技巧和注意事项,需要的朋友参考一下

在本教程中,我们将讨论一个程序来转换数组,以使数组的GCD变为1。

为此,我们将提供一个数组和一个正整数k。我们的任务是转换数组元素,以使元素的GCD为1,同时仅将数组元素除以k任意次,直到元素小于k。

示例

#include <bits/stdc++.h>
using namespace std;
//计算数组的GCD-
int calculate_gcd(int* arr, int n){
   int gcd = arr[0];
   for (int i = 1; i < n; i++)
      gcd = __gcd(arr[i], gcd);
   return gcd;
}
//检查操作是否可行
bool convertGcd(int* arr, int n, int k){
   int gcd = calculate_gcd(arr, n);
   int max_prime = 1;
   for (int i = 2; i <= sqrt(gcd); i++) {
      while (gcd % i == 0) {
         gcd /= i;
         max_prime = max(max_prime, i);
      }
   }
   max_prime = max(max_prime, gcd);
   return (max_prime <= k);
}
int main(){
   int arr[] = { 10, 15, 30 };
   int k = 6;
   int n = sizeof(arr) / sizeof(arr[0]);
   if (convertGcd(arr, n, k) == true)
   cout << "Yes";
   else
      cout << "No";
   return 0;
}

输出结果

Yes
 类似资料:
  • 问题内容: 有谁知道如何将包含json的字符串转换为C#数组。我有这个从webBrowser读取text / json并将其存储到字符串中。 只需要以某种方式将json字符串更改为数组即可。一直在查看Json.NET,但是我不确定那是否是我所需要的,因为我不想将数组更改为json。但是反过来。谢谢您的帮助! 问题答案: 只需使用字符串并使用JavaScriptSerializer将其反序列化为本地

  • 本文向大家介绍在C ++中使数组的GCD成为k的倍数的最小操作,包括了在C ++中使数组的GCD成为k的倍数的最小操作的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个数组arr和另一个值k。我们必须找到最小数量的运算,以使数组的GCD等于k的倍数。在这种情况下,操作将增大或减小该值。假设数组类似于{4,5,6},并且k为5。我们可以将4加1,然后将6减1,因此它变为5。这里的操作数为2。

  • 问题内容: 我是Java编程的新手。我的问题是,我有一个数组,但是当我尝试将其转换为数组时,我不断 我的代码是 任何帮助将是极大的感谢!!! 问题答案: 要摆脱其他空格,您可以像这样更改代码:

  • 问题内容: 我有一个Swift程序,可以与C库互操作。这个C库返回一个内部带有数组的结构,如下所示: 该定义已正确导入到Swift中。但是,该字段被解释为8个元素(类型为)的 元组 ,我不知道如何使用Swift 将其转换为a 。 没有可以接受元组的初始化程序,并且似乎不可能获得指向元组的第一个元素的指针(因为类型可以是异构的,这并不奇怪)。 现在,我最好的主意是创建一个微型C函数,该函数接受指向结

  • 问题内容: 我有一个使用ctypes调用Python的C++回调函数。该函数的参数是一个指向double和元素数量数组的指针。 元素很多,大约2,000,000。我需要将此发送到scipy函数。 C ++原型是: 以下是python代码: 问题是打印数据列表返回: 这是不正确的(在c ++端检查时,数据中填充了许多其他数字。 另外,如果我使用此代码将数据转换为python列表,则会在分配步骤中锁定

  • 问题内容: 直到今天,我还没有真正考虑过这一点,但是在网上搜索之后,我什么都没找到。也许我不是在搜索中说正确的话。 给定一个数组(是否具有多个维度): 当var_dumped时: 面临的挑战是:将数组重新编译为适用于PHP的可用数组的最佳优化方法是什么?就像一个功能。数据是在浏览器中作为输出全部显示在一行上,还是包含换行符作为输出到终端。 这只是正则表达式的问题吗?还是有其他方法?我正在寻找创造力