相对质数

2023-12-29

如何在c++中创建一个函数来确定两个输入的数字是否互质(没有公因数)? 例如,“1, 3”有效,但“2, 4”无效。


吉姆·克莱 (Jim Clay) 的不谨慎评论促使其付诸行动,以下是六行代码的欧几里得算法:

bool RelativelyPrime (int a, int b) { // Assumes a, b > 0
  for ( ; ; ) {
    if (!(a %= b)) return b == 1 ;
    if (!(b %= a)) return a == 1 ;
  }
}

Updated补充:我已经被迷惑了这个答案来自 Omnifarious https://stackoverflow.com/questions/6016771/is-constexpr-really-needed/6476038#6476038,谁编程gcd函数如下:

constexpr unsigned int gcd(unsigned int const a, unsigned int const b)
{
   return (a < b) ? gcd(b, a) : ((a % b == 0) ? b : gcd(b, a % b));
}

现在我们有了一个三行版本的relative prime:

bool RelativelyPrime (int a, int b) { // Assumes a, b > 0
   return (a<b) ? RelativelyPrime(b,a) : !(a%b) ? (b==1) : RelativelyPrime (b, a%b);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

相对质数 的相关文章

  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 重载<<的返回值

    include
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • useLocation 钩子在启动时未定义:TypeError:无法读取未定义的属性“位置”

    我正在编写一个 Typescript React 应用程序 它将让用户登录并更新Dashboard组件来显示用户信息 例如他们的访问令牌和姓名 我正在使用useLocation钩子从 fetch 请求中传递状态LoginCallback组件
  • 从 Heroku 下载 sqlite 数据库

    我有一个工作人员每 2 小时在 Heroku 上运行一次 python 脚本 问题是每次我从 git 拉 更改时 没有任何变化sqlite3数据库 但通过查看日志文件 我确信程序正在运行并且数据库已更改 heroku log 那么如何检索
  • 没有函数体的函数签名

    当查看源码时math Ceil http golang org src pkg math floor go s 725 753 L26方法 我发现这个语法有一个没有主体的导出函数签名 以及包含实现的同一签名的非导出版本 Ceil retur
  • Typescript 中的“日期”类型不存在属性“getWeek”[重复]

    这个问题在这里已经有答案了 我正在尝试从给定的日期范围计算一周的开始日期和结束日期 下面的代码给了我这个错误 ts Property getWeek does not exist on type Date Date prototype ge
  • 将手机升级到 Android 9 Pie API 28 修订版 6 后,Cordova 应用程序中出现 Ajax 错误

    我有一个使用 Cordova 8 1 2 开发的应用程序 并在 Android 8 1 Oreo API Level 27 Revision 3 下编译 在 Play 商店和注册用户中成功运行 上周 一些用户将手机升级到 Android 9
  • 浏览器后退按钮不会破坏 PassportJS + ExpressJS 中的会话。如何完全终止/终止会话?

    我的注销机制的代码是 app get logout isLoggedIn function req res req logout res redirect 我使用的是带有密钥的 Express session 包 没有在任何地方设置 Coo
  • 阻塞时如何判断关联对象Id代表什么对象?

    我收到了另一个团队关于 SQL Server 中阻塞的报告 查看结果 Exec sp who2 以及来自 Glenn Berry 博客的查询 SELECT blocking session id AS blocking session id
  • 创建多维度交互图的工具推荐

    我了解 QLik Sense Big Query Google Data Studio 及相关 我需要创建一个包含多个点的地图 每个点将显示数据库中的数据 点相关 例如 该表将如下所示 Store Name Store Location L
  • MVC 读取控制器和操作的 url

    我为 php 编写了自己的 mvc 它似乎对我来说工作得很好 但我在获取控制器和操作时遇到问题 http www example com controller action http www example com controller a
  • 运行时禁用 datagridviewcombobox

    我如何更改以下内容DataGridViewComboBoxColumn在运行时 如何将组合框的第一个值设置为默认值 禁用组合框 使其只读 同时显示第一个值作为默认值 意思是说 如果组合框中有 3 个项目 它应该只显示第一个项目 禁用组合框下
  • 使用 jQuery 的日期掩码[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从命令行调用静态 jar 类方法

    我有一个 jar 文件 CallMeMaybe jar 主类 callmemaybe CallMeMaybe 中有一个静态方法 callMe 就像可以通过运行以下命令从命令行调用 main 方法 java cp CallMeMaybe ja
  • WPF ListViewItem 失去焦点事件 - 如何获取该事件?

    我有一个列表视图 您可以在其中选择行 项目 它链接到在行上显示图像的数据触发器 仅当选择该行时才应显示图像 这部分工作正常 但是当您将焦点移至其他内容 例如文本框 或显示消息框时 列表视图项目将失去焦点 即不再显示行上的突出显示 问题是我的
  • TabLayout 指示器定制

    i have been searching how to change the indicator in Tablayout to be circular like this 但我不知道该怎么做 请帮忙 来自源代码 https androi
  • 让 Textmate 识别 Ruby 版本升级

    我使用了以下说明http bparanj blogspot com 2010 06 installing ruby 191 on snow leopard html http bparanj blogspot com 2010 06 ins
  • 无法访问类“android.arch.core.util.Function”

    您好 我无法创建代码实现 错误如标题所示 Transformations switchMap mLiveData listOfDamages gt doSth or Transformations map liveData doSth 我无
  • 页面上的猫头鹰轮播和引导选项卡

    我正在尝试使用引导程序和猫头鹰轮播构建一个页面 猫头鹰轮播适合网站的目的 而不是引导版本 所以我有一个选项卡结构 我想在每个页面上放置一个轮播 但是我所有的尝试都失败了 这是我的代码 div ul class nav nav tabs li
  • 使用 ByteBuddy 定义泛型类型的字段

    我刚刚开始使用 ByteBuddy 并且正在研究几个示例以掌握它的窍门 我试图通过此练习完成的任务是用 ByteBuddy 替换一些使用 ASM 的代码 到目前为止 我在非泛型类型方面取得了成功 例如 我可以轻松定义一个字段 如下所示 bu
  • SQL Server AND 和 OR 优先级[重复]

    这个问题在这里已经有答案了 我正在调试一些代码并遇到了这个 有人可以帮助我根据 SQL Server 顺序将此语句放在括号中吗 是我一个人这样 还是编码不好 WHERE T1 C1 VAR1 AND T1 C2 VAR2 AND T1 C3
  • 相对质数

    如何在c 中创建一个函数来确定两个输入的数字是否互质 没有公因数 例如 1 3 有效 但 2 4 无效 吉姆 克莱 Jim Clay 的不谨慎评论促使其付诸行动 以下是六行代码的欧几里得算法 bool RelativelyPrime int