2019中山纪念中学夏令营-Day19 数论初步【GCD(最大公约数),素数相关】
关于GCD的一些定理或运用的学习:
1.

2.二进制算法求GCD
思想:使得最后的GCD没有2(提前把2提出来)
代码实现:
#include <cstdio>
#define int long long
int gcd(int x,int y)
{
int i,j;
if(x == ) return y;
if(y == ) return x;
for(i=;==(x&);++i)x>>=;//x & 1 用来判断x是否为偶数
for(j=;==(y&);++j)y>>=;//同理,用来消去x,y因子的2
if(j<i)i=j;
while()
{
if(x<y)x^=y,y^=x,x^=y;//交换x和y的值(等同于swap,只是速度比它快多了(位运算))
if(==(x-=y))return y<<i;
while(==(x&))x>>=;//等同于x = x / 2;
}
}
signed main()
{
int a,b;
scanf("%lld %lld",&a,&b);
printf("%lld",gcd(a,b));
}
2019中山纪念中学夏令营-Day19 数论初步【GCD(最大公约数),素数相关】的更多相关文章
- 2019中山纪念中学夏令营-Day14 图论初步【dijkstra算法求最短路】
		
Dijkstra是我学会的第一个最短路算法,为什么不先去学SPFA呢?因为我在luogu上翻到了一张比较神奇的图: 关于SPFA -它死了 以及网上还有各位大佬的经验告诉我:SPFA这玩意很容易被卡. ...
 - 2019中山纪念中学夏令营-Day20[JZOJ]      T1旅游详解
		
2019中山纪念中学夏令营-Day20[JZOJ] 提高组B组 Team_B组 T1 旅游 Time Limits: 2000 ms Memory Limits: 262144 KB Descrip ...
 - 2019中山纪念中学夏令营-Day21[JZOJ]
		
2019中山纪念中学夏令营-Day21[JZOJ] 提高组(B组模拟赛)Team_B (由于本人太弱,并没有订正完题目) (题解大部分是从官方题解文件上摘来的) 日常膜拜大神:じやゆん蒟蒻 正文部分: ...
 - 2019中山纪念中学夏令营-Day9[JZOJ](第六次模拟赛)
		
Begin (题目的排序方式:Unkown其实是按心情排的) 异或:(摘自百度百科) 异或(xor)是一个数学运算符.它应用于逻辑运算.异或的数学符号为“⊕”,计算机符号为“xor”.其运算法则为: ...
 - 2019中山纪念中学夏令营-Day12[JZOJ]
		
Begin (题目的排序方式:题号) 每期新姿势:(今天推荐一位巨佬)Cefola-Kiroxs 推荐知识:namespace的用法(本赛我的代码中将用到) 2019.08.12[NOIP普及组]模拟 ...
 - 2019中山纪念中学夏令营-Day4[JZOJ]
		
Begin (题目的排序方式:难易程度) 什么是对拍: 对拍是一种在写完程序后,验证自己程序是不是正解的比较方便的方法. 实现过程: 对同一道题,再打一个暴力程序,然后用一些大数据等跑暴力程序来进行验 ...
 - 2019中山纪念中学夏令营-Day2[JZOJ]
		
博客的开始,先聊聊代码实现: 每次比赛以后,要有归纳错误的习惯. 错误小结: 1.读入:scanf(“%c”)会读入回车和空格,但cin不会. 2.对于二维数组的输入,不能把m,n搞混了,会引起严重的 ...
 - 2019中山纪念中学夏令营-Day1[JZOJ]
		
T1 题目描述: 1999. Wexley接苹果(apple) (File IO): input:apple.in output:apple.out 时间限制: 1000 ms 空间限制: 1280 ...
 - [小结] 中山纪念中学2018暑期训练小结(划掉)(颓废记)-Day10
		
[小结] 中山纪念中学2018暑期训练小结(划掉)(颓废记)-Day10 各位看众朋友们,你们好,今天是2018年08月14日,星期二,农历七月初四,欢迎阅看今天的颓废联编节目 最近发生的灵异事件有 ...
 
随机推荐
- 查找:find、locate、which、whereis
			
有find . locate . which . whereis 一.find 命令格式:[root@localhost ~]# find 搜索路径 [选项] 搜索内容 find是比较特殊的命令,它有 ...
 - Fantasy of a Summation (LightOJ - 1213)(快速幂+简单思维)
			
题解:根据题目给的程序,就是计算给的这个序列,进行k次到n的循环,每个数需要加的次数是k*n^(k-1),所以快速幂取模,算计一下就可以了. #include <bits/stdc++.h> ...
 - vue-cli3中axios如何跨域请求以及axios封装
			
1. vue.config.js中配置如下 module.exports = { // 选项... // devtool: 'eval-source-map',//开发调试 devServer: { ...
 - Android 内存 - 获取单个应用内存限制
			
方法一: adb shell getprop | grep dalvik.vm.heapgrowthlimit [dalvik.vm.heapgrowthlimit]: [64m] 方法二: Acti ...
 - Charles中文破解版下载安装及使用教程
			
下载地址:https://pan.baidu.com/s/1praYZAw23psZLi59hKJjqw 一. 简介及安装 Charles 是在 PC 端常用的网络封包截取工具,但它不仅仅能在pc端使 ...
 - TypeScript----接口和泛型
			
接口 TypeScript的核心原则之一是对值所具有的结构进行类型检查.它有时被称做“鸭式辨型法”或“结构性子类型化”.在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定 ...
 - Idea中使用Maven编码打包时中文乱码的解决办法
			
-Dfile.encoding=GBK
 - Netty入门官方例子
			
参考链接:https://blog.csdn.net/wocjy/article/details/78661464 maven依赖: <!-- Netty开始 --> <!-- ht ...
 - Docker关键概念阐述
			
要了解Docker需要对其体系结构中的几个关键概念有所了解,主要包括image.container.service.swarm.stack等. 在介绍这几个概念时,会使用到一个测试环境,这个测试环境是 ...
 - Mybaits和Spring的那点事
			
前言 在spring中使用mybaits简直不要太简单,只需要几个配置,一个DAO接口和一个mapper.xml就可以完成一次数据库交互.但是简单背后往往是复杂的实现,现在我们来探讨一下里面的一点原理 ...