- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试编写一个程序,可以根据这些整数写出两个正整数的最大公约数。例如,假设我有数字 353 和 15,我将使用以下步骤找到 gcd:
353 = 23*15 + 8
15 = 1*8 + 7
8 = 1*7 + 1
7 = 7*1
所以 gcd 是 1。我将其实现为:
//div_algo always takes int1 >= int2
int div_algo(int int1, int int2)
{
if (int2 == 0) //we are done
return int1;
int factor = 0;
int remainder = 0;
factor = int1/int2; //this is useful for linear combination
remainder = int1 % int2;
return div_algo(int2, remainder);
}
问题是,如果我想找到线性组合,我基本上是向后工作。所以,继续我的例子:
1 = 1*8 - 1*7(代入 7 = 15 - 1*8)
1 = 1*8 - 1*15 + 1*8 = 2*8 - 1*15(代入 8 = 353 - 23*15)
1 = 2*353 - 46*15 - 1*15 = 2*353 - 47*15
我们开始吧。我遇到的问题是我不知道如何“存储”以前的方程式以便我可以替代。
最佳答案
添加另一个参数来存储您正在寻找的因素。你可以这样实现它:
int div_algo(int int1, int int2, vector<int>& factors)
{
if (int2 == 0) //we are done
return int1;
int factor = 0;
int remainder = 0;
factors.push_back(int1/int2); //this is useful for linear combination
remainder = int1 % int2;
return div_algo(int2, remainder, factors);
}
请注意使用 &
作为因子。您不想复制数组,而只是发送对同一原始数组的引用。您可以将 vector 中的 int
替换为可以保留您认为必要的任何数据的结构。
要调用它你可以这样做:
vector<int> factors;
div_algo(353, 15, factors);
for (int x : factors) cout << x << " ";
关于c++ - 实现欧几里德除法,根据这些整数的线性组合写出两个正整数的最大公约数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36129546/
我在一个本土 C++ 框架内工作,其中一个类间接连接到 libjpeg-8c.so(作为 Ubuntu 16.04 突触包获得)。我在我的应用程序上运行 valgrind,它最终会写出图像数据,如下所
上下文 我正在运行一个 Tomcat 8.5 服务器,前端有一个 Nginx 反向代理来终止 SSL 连接,启用更多压缩。 在 Tomcat 服务器上,我有一个正在运行的 Web 应用程序,其中包含一
我正在尝试让 grunt-jsdoc-plugin 正常工作,但遇到了一个小问题。在我的控制台中,我不断收到: Running "jsdoc:dist" (jsdoc) task Warning: C
我继承了一个在数据库中存储 zip 文件的旧应用程序,需要检索该文件。在 Firefox 中运行良好,我可以打开 zip 并且其中的每个文件都很好。当我在 IE7 中运行它时,出现以下错误。 Inte
我想创建一个能够写出平面 html 文件的 cms,因此不需要数据库参与。 这个想法是CMS将允许编辑和更新文件(用php编写,如果需要的话可以使用mysql数据库),然后将这些更改保存/写出到htm
我有一个 javascript 函数,当通过 javascript 添加 td 元素时,它可以在 onclick 上正常运行。删除按钮工作正常。但是当我使用 php 创建元素并单击“删除”时,我得到:
我正在使用 node-png 库制作 png,然后将其保存在本地目录中,但是当我重新打开它时,它说它不存在。我想读入数据并将其发送出去,或者只是让响应发送一个 带图片的字段。这是我到目前为止所拥有的:
我需要一个类似于此处解释的函数... JS function for writing out a word, binary counter style ...但使用基数 7(或其他)生成(计数)从 A
我使用 matplotlib.pyplot 创建了一个简单的 hexbin 图。我没有更改任何默认设置。我的 x 轴信息范围从 2003 到 2009,而 y 值范围从 15 到 35。matplot
这是我的代码的重要部分: int realnum, positive = 0, total, poscount; for (poscount = 1; poscount > realnum;
我正在尝试在 Julia 中读取和写入一个简单的数据集。数据集是 mtcars ,取自 R,任意添加一列 bt带有随机 bool 值。文件/文件夹结构(如下)是使用 R arrow 写出的。包裹。 文
我正在尝试将数据写入包含日语字符的 Excel 文件。我正在使用 codec.open() 来获取数据,这似乎工作正常,但是当我尝试写入数据时遇到了这个错误: UnicodeEncodeError:
我是一名优秀的程序员,十分优秀!