JAVA提取公因数

简介: JAVA提取公因数

1 问题

如何使用java输入两个正整数,并输出他们的最大公因数。


2 方法

Euclid规则:如果x和y是正整数,且有x>=y,那么gcd(x,y)=gcd(x mod y,y)。递归实现实现需在a,b为奇数时实现

当a,b为任意正整数时,可用如下方式结合然后加以实现算法思想:

当a,b都是偶数时,gcd(a,b)=2*gcd(a/2,b/2);

当a是奇数,b是偶数时,gcd(a,b)=gcd(a,b/2);

当a是偶数,b是奇数时,gcd(a,b)=gcd(a/2,b);

当a,b都是奇数时,gcd(a,b)=gcd((a-b)/2,b).

int gcd(int a,int b)
{
if(a<b)
{
swap(a,b);
}
if(b==0)
{
return a;
}
return gcd(b,a%b);
}
int gcd2(int a,int b)
{
int ans=1;
while(a%2!=0&&b%2!=0)
{
a = a/2;
b = b/2;
ans=ans*2;
}
while(a != b)
{
if(a>b)
{
a = a-b;
}else
{
b = b-a;
}
}
return ans*a;
}
int gcd2(int a,int b)
{
int ans=1;
while(a%2!=0&&b%2!=0)
{
a = a/2;
b = b/2;
ans=ans*2;
}
a=gcd2_2(a,b);
return ans*a;
}


3 结语

我们通过讨论学习“如何在java生成随机数”,提出辗转相除法方法,通过在idea具体实验,证明该方法是有效的,当然本文在处理生成随机数表之类的问题还未解决,未来会逐渐探究该问题并解决问题。

目录
相关文章
|
缓存
IDEA 卡住不动的解决办法,超级管用。。。
IDEA 卡住不动的解决办法,超级管用。。。
4206 0
IDEA 卡住不动的解决办法,超级管用。。。
|
2月前
|
人工智能 安全 网络协议
2026版OpenClaw Skills深度实战指南:浏览器与邮件技能全解析+阿里云部署速成
如果说OpenClaw(原Clawdbot,曾用名Moltbot)与大模型的组合是打造智能AI助理的“大脑”,那么Skills就是赋予它行动能力的“双手”。作为阿里云生态下开源AI自动化代理工具的核心扩展模块,Skills通过标准化功能封装,让AI助手突破“只会说不会做”的局限,自主完成网页浏览、信息检索、邮件管理等实操任务。2026年最新版OpenClaw已默认集成浏览器操作插件agent-browser v0.2.0,同时支持从Clawhub技能库扩展超3000款实用功能,搭配阿里云云端部署的高稳定性,能快速打造7×24小时运行的自动化AI助理。
3627 1
|
2月前
|
人工智能 自然语言处理 网络安全
零门槛玩转OpenClaw(Clawdbot):阿里云10分钟一键部署+功能拓展全攻略
在智能办公与自动化需求爆发的2026年,OpenClaw(前身为Clawdbot、Moltbot)凭借自然语言指令执行、多工具集成、主流大模型兼容等核心优势,成为个人与轻量团队打造专属智能助手的首选工具。与普通聊天机器人不同,它堪称“7×24小时不下班的AI数字员工”,能轻松完成文件处理、日程管理、信息提取、跨工具协同等实操任务,大幅降低重复劳动成本。
478 8
|
7月前
|
存储 NoSQL Redis
阿里云高性能数据库Tair(兼容 Redis)收费价格,稳定可靠成本低
阿里云高性能云数据库Tair兼容Redis,提供Redis开源版和Tair企业版,支持多种存储介质与灵活扩展,适用于高并发场景。Tair具备亚毫秒级稳定延迟,保障业务连续性。价格方面,Redis开源版年费从72元起,Tair企业版年费从1224元起,具体费用根据配置不同有所变化。
|
存储 缓存 运维
阿里云服务器经济型e与通用算力型u1实例各自性能、适用场景区别及选择参考
在选择阿里云服务器实例规格时,经济型e实例和通用算力型u1实例因其高性价比和广泛适用性,备受个人开发者、中小企业的青睐。在同地域、相同配置的情况下,经济型e和通用算力型u1实例的价格相对于其他实例规格要低一些,很多个人和初创企业用户都会优先考虑选择这两个实例规格的云服务器,那么它们之间有什么区别?各自的性能、适用场景上有何区别?我们应该如何选择呢?本文将详细解析这两款实例的性能特点、适用场景、价格优势及购买建议,帮助用户更好地理解并选择合适的云服务器实例。
726 17
|
8月前
|
人工智能 前端开发 Java
不用复杂开发!轻松实现博客 AI 摘要
本文介绍如何通过火山方舟与Deepseek-V3轻松实现博客AI摘要功能,涵盖智能总结、关键词提取、开发流程、流式输出优化及生产部署要点,助力提升阅读体验与用户留存。
256 0
|
存储 安全 BI
PeopleSoft中的文件上传与下载:实现与优化
PeopleSoft中的文件上传与下载:实现与优化
480 7
|
存储 编译器 C语言
【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】
本文档介绍了C语言环境配置和编程任务,主要内容包括: - **C语言环境配置**:详细讲解了在Windows系统上配置C语言开发环境的步骤。 - **第1关:程序改错**:包含任务描述、相关知识(如头文件引用、基本语法规则)、编程要求、测试说明及通关代码。 - **第2关:scanf函数**:涉及`scanf`和`printf`函数的格式与使用方法,提供编程要求、测试说明及通关代码。 文档结构清晰,涵盖从环境搭建到具体编程任务的完整流程,适合初学者学习和实践。
461 4
|
JSON 缓存 负载均衡
Node.js 的性能
Node.js 的性能
458 12
|
人工智能 运维 自然语言处理
通义灵码一周年:灵码编码个人版实践
作为一名运维工程师,我在运维和测试过程中经常需要编写代码。最近了解到通义灵码,它支持行/函数级实时续写、自然语言生成代码等功能,大大提升了我的工作效率。通过通义灵码,我可以快速生成和补全代码,节省了大量时间。此外,通义灵码还提供了代码解释和注释生成等实用功能,帮助我更好地理解和维护现有代码。整体安装和使用都非常简便,推荐给需要提升开发效率的小伙伴们。
583 4

热门文章

最新文章

下一篇
开通oss服务