GCD最大公约数
说明:
最初跟鹏哥学习最大公约数的算法是辗转相除,确实印象很深刻,那种辗转赋值的思想在好多题目中都有运用,但随着进一步学习,我也参考了其他几种方便快捷的最大公约数求法,在这里做一个总结。
.
int gcd(int a,int b) ///基础 辗转
{
int r;
while(b>)
{
r=a%b;
a=b;
b=r;
}
return a;
} .
int gcd(int a,int b)///位运算
{
while(b^=a^=b^=a%=b);
return a;
} .
int gcd(int a,int b)///递归调用
{
if(b==0)
{
return a;
}
gcd(b,a%b);
} .
#include<algorithm>///直接使用c++的内置函数
using namespace std;
__gcd(int a,int b)
GCD最大公约数的更多相关文章
- Summary: gcd最大公约数、lcm最小公倍数算法
欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数.其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + ...
- HDU 2504 又见GCD(最大公约数与最小公倍数变形题)
又见GCD Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- gcd 最小公约数
int gcd(int a, int b) { ? a : gcd(b, a % b); }
- gcd 最大公约数 模版!
1: #define ll long long ll gcd(ll a,ll b) { ) { return b; }else { return gcd(b % a,a); } } 2: int64 ...
- GCD(最大公约数)和LCM(最小公倍数)的求法
GCD(最大公约数) (1)辗转相除法(欧几里得算法)(常用) 将两个数a, b相除,如果余数c不等于0,就把b的值给a,c的值给b,直到c等于0,此时最大公约数就是b (2)更相减损术 将两个书中较 ...
- ACM学习历程—Hihocoder 1177 顺子(模拟 && 排序 && gcd)(hihoCoder挑战赛12)
时间限制:6000ms 单点时限:1000ms 内存限制:256MB 描述 你在赌场里玩梭哈,已经被发了4张牌,现在你想要知道发下一张牌后你得到顺子的概率是多少? 假定赌场使用的是一副牌,四种 ...
- 关于1-n任意的gcd的和
gcd和 题目 GCD sum 公约数的和 大意是让你求1-n任意两个数的gcd的和之类的. 解法 显然你需要枚举对吧,不然你怎么可能求出gcd呢? 其次我们需要一些数学推理 令F(n)表示\(\su ...
- Java算法之递归打破及在真实项目中的使用实例
开心一笑 刚才领导问开发:"你觉得这个项目的最大风险是什么",开发说:"加班猝死" , 气氛尴尬了一分钟!!! 提出问题 1.递归算法简单复习 2.如何实现递归 ...
- java06
阅读并运行示例PassArray.java,观察并分析程序输出的结果 小结:引用传递.如果方法中有代码则更改了数组元素的值,因为引用时传递的是地址. 阅读程序WhatDoesThisDo.java, ...
随机推荐
- 转:SQLServer中的GROUPING,ROLLUP和CUBE
转自:https://www.cnblogs.com/nikyxxx/archive/2012/11/27/2791001.html 聚集函数:GROUPING 用于汇总数据用的运算符: ROLLUP ...
- xftp
SFTP.FTP 文件传输软件. 所有通过该软件的网络流量都是加密的. 1.点击新建 2.新建一个链接 3.点击确定,保存,然后点击该链接 4.链接服务器成功后,如下图右侧,可以增删改查文件.左侧文件 ...
- Phaser3 对象池随机产生炸弹并销毁
效果图 对象池 Object Pool scene.js /// <reference path="../../libs/phaser/phaser.min.js"/> ...
- daterangepicker的个性化使用技巧
由于该模板不自动将时间戳添加到input中去,始终为NaN,所以,自己选取起始时间与截止时间 var startTime =new Date(new Date().toLocaleDateString ...
- Delphi XE7调用Java Class,JAR
Delphi XE5,XE6需要用户手工编译并将Classes.Dex加入到包中,不过Delphi XE7可以省掉这些工作了. 如何在XE7中调用Java,具体步骤如下: 1.将jar文件添加到XE7 ...
- 大数据:Windows下配置flink的Stream
对于开发人员来说,最希望的是需要在windows中进行测试,然后把调试好的程序放在集群中运行.下面写一个Socket,上面是监控本地的一个运行端口,来实时的提取数据.获取视频中文档资料及完整视频的伙伴 ...
- Hive配置项的含义详解
关于MetaStore:metastore是个独立的关系数据库,用来持久化schema和系统元数据. hive.metastore.local:控制hive是否连接一个远程metastore服务器还是 ...
- NIH周三讲座视频爬虫
最近网是越来越差了,在线播放基本是没戏了,所以就动了爬虫下载的念头. NIH把视频片段存放,一般都是8秒一段,大概看下视频长度估算一下片段个数就差不多了. 新建一个NIH的文件夹,然后把爬虫下来的.t ...
- 20155321实验二 Java面向对象程序设计
实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 单元测试 三种代码 伪代码:使用自然语言来显示设 ...
- js获取上月的最后一天
一.问题: 在最近的开发中遇到一个需求,需要初始化默认时间为上月的最后一天 而在日历中这个值在每个月都不是固定的 二.分析: 问题可以转化为,获取指定月份时间的月末最后一天,下边是代码,供大家参考 f ...