zoukankan
html css js c++ java
辗转相除
节选自:(
http://zhidao.baidu.com/question/5920943.html
)
若 a
=
bq
+
r,则a和b的最大公因子等于b和r的最大公因子绝对值(都为整数)
比如求4864和3458的最大公因子:
4864
=
1
*
3458
+
1406
3458
=
2
*
1406
+
646
1406
=
2
*
646
+
114
646
=
5
*
114
+
76
114
=
1
*
76
+
38
76
=
2
*
38
+
0
所以4864和3458的最大公因子为38
自己跟据这个,写了个用辗转相除求两个数最大公因子的方法。
int
getIn(
int
a,
int
b)
{
if
(b
==
0
)
return
a;
return
getIn(b, a
%
b);
}
百度搜索了一下,果然还是别人的方法简单。
辗转相除递归算法:
//
求最大公约数,公式if(a=b*q+r)then(gcd(a,b)=gcd(b,r))
int
gcd(
int
a,
int
b)
{
return
(a
%
b)
?
gcd(b,a
%
b):b;
}
非递归算法:
//
非递归辗转相除
int
gcd(
int
a,
int
b)
{
int
r
=
0
;
r
=
a
%
b;
while
(r)
{
a
=
b;
b
=
r;
r
=
a
%
b;
}
return
b;
}
张旋(zxsoft)
如对本文有什么疑问,请在下面写下留言,谢谢!
查看全文
相关阅读:
shell脚本执行错误:#!/bin/bash: No such file or directory
odoo 主题中怎么添加多个代码块 (snippets)
怎么使用 python 的 jieba 中文分词模块从百万数据中找到用户搜索最多的关键字
odoo 网站上线后,怎么修改网站主题?
阿里菜鸟网络春招 【部门直推】【22届校招实习】
java jfreechart 折线图数据量大,X 轴刻度密密麻麻显示不下,或者省略号的解决办法
java jfreechart 时序图横坐标显示,设置步数初始坐标不展示问题解决
springboot2 整合 redis 并通过 aop 实现自定义注解
java 线程池 Executors,ExecutorService
git免密码clone push,多个git账号配置
原文地址:https://www.cnblogs.com/zxsoft/p/940155.html
最新文章
Selenium关闭多余窗口保留当前窗口
python使用selenium baidu关键词搜索截图
微信小程序web-view页面安卓下显示空白的解决办法!!!
mybatis-plus的使用 ------ 入门
优秀的基于VUE移动端UI框架合集
selenium多个窗口切换
python+selenium+ Chrome 运行中更换userAgent
jenkins的疑难杂症
nginx-普通用户
centos6停更后的yum
热门文章
springboot mybatisplus slf4j依赖
SpringBoot经典报错Error creating bean with name ‘transactionManager‘ defined in class path resource
harbor的磨难-docker
自定义镜像-docker
安装-docker
3D 打印
10分钟看懂Docker和k8s区别与介绍
MySQL体系结构与存储引擎
MySQL性能压力基准测试工具sysbench
MySQL主从无损同步复制项目出现报错Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids;
Copyright © 2011-2022 走看看