>>> a // b# //:是排除余数仅保留商的运算
>>> 123 % 10
3
>>> 123 // 10
12>>> 12 % 10
2
>>> 12 // 10
1>>> 1%10
1
>>> 1// 10
0

偶数的判断

>>> a % 2 == 0
>>> a//2 * 2 == a

奇偶性判断

常规的做法是对 2 取模,

if x%2 == 0:

使用位操纵(bit manipulation)的方法为,让该数与 1 相与:

if x & 1 == 0:

取出一个数的独立的各个位

def pos(x, m):r = []while x:r.append(x%m)x //= mreturn r

欧几里得算法

具体见 可公度线段与欧几里得(Euclid)算法

def euclid(a, b):if a < b:t = aa = bb = treturn b if a % b == 0 else euclid(b, a%b)

保存辗转相除过程中经历的数:

def euclid(a, b):if a < b:t = aa = bb = tr = []if a % b != 0:r.append(a%b)r.extend(euclid(b, a%b))return r

swap 的顺序

swap(a, b)

如果不使用异或算法的话,通常需要借助一个中间变量;

t = a               # 首先对 a 的值进行备份,保存到中间变量(t)
a = b               # 将 b 的值传递到 a,因为已对 a 的值进行记录,此时可放心地对 a 的值进行覆盖
b = t               # 将 t 中保存的 a 的值传递给b

算法 —— 实用程序片段相关推荐

  1. C++ 面向对象 —— 实用程序片段

    1. 重载 [] 运算符 template<typename T> T& Vector<T>::operator [](int r) const {return _el ...

  2. matlab 实用程序片段

    记录一次 shuffle(或者叫 permutation): n = 10; randorder = randperm(n); abs(A) == sqrt(A.^2) ⇒ sqrt(A.^2 + 1 ...

  3. RDKit | 基于多片段的分子生成(骨架A+骨架B+骨架C)

    通过BRICS算法产生片段库 通过结合三个片段(A,B,C)生成ABC型分子. 环境 Win10 RDKit2020.09.1 Python=3.7.9 基于多片段的分子生成 导入库 import n ...

  4. RDKit | 基于片段的分子生成(骨架A+骨架B)

    通过BRICS算法产生片段库 通过结合两个片段(A,B)生成了一个新分子(AB). 环境 Win10 RDKit2020.09.1 Python=3.7.9 基于双片段的分子生成 导入库 import ...

  5. fm算法详解_Python实现FM算法解析

    1. 什么是FM? FM即Factor Machine,因子分解机. 2. 为什么需要FM? 1.特征组合是许多机器学习建模过程中遇到的问题,如果对特征直接建模,很有可能会忽略掉特征与特征之间的关联信 ...

  6. fm算法详解_FM算法解析及Python实现

    1. 什么是FM? FM即Factor Machine,因子分解机. 2. 为什么需要FM? 1.特征组合是许多机器学习建模过程中遇到的问题,如果对特征直接建模,很有可能会忽略掉特征与特征之间的关联信 ...

  7. 图灵奖得主Yann LeCun万字访谈:DNN“史前文明”、炼金术及新的寒冬

    作者 | 武文浩 Yann LeCun,现任 Facebook 副总裁兼首席 AI 科学家,纽约大学教授,曾在 Facebook 内领导开启了 AI 研究,并领导建设了纽约大学的数据科学中心.Yann ...

  8. 线性表的链式表示——单链表

    单链表 定义 线性表的链式存储又称单链表,它是指通过一组任意的存储单元来存储线性表中的数据元素.每个链表的结点,除存放元素自身的信息之外,还需要存放一个指向其后继结点的指针.即单链表的结构分为两部分, ...

  9. 第十八章_后端架构选型、离线及实时计算

    文章目录 第十八章_后端架构选型.离线及实时计算 18.1 为什么需要分布式计算? 18.2 目前有哪些深度学习分布式计算框架? 18.2.1 PaddlePaddle 18.2.2 Deeplear ...

最新文章

  1. linux_域名映射
  2. 设计模式--享元(Flyweight)模式
  3. 伯努利数学习笔记的说...
  4. 或者是修改服务器时间,修改云服务器时间设置
  5. 深度学习目标检测系列:一文弄懂YOLO算法|附Python源码
  6. Elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段 。
  7. c++ 14新的语法特性之返回类型推导
  8. cc1 transform链
  9. Linux服务之批量部署篇
  10. NULL值的处理注意不同数据库区别
  11. 英语练习95 Computers
  12. 什么是云主机?有什么用途?
  13. tweenMax下载和使用
  14. pta mysql训练题集(241-260)
  15. Linux下查看当前文件大小
  16. 什么是GC,为什么需要GC?
  17. 使用UltraISO制作ubuntu安装u盘启动盘图文教程(转)
  18. mysql事务重点知识总结(需要完整脑图的可以联系我)
  19. 一个基于EntityFrameworkCore+Lucene实现的全文搜索引擎库
  20. 餐厅无线AP覆盖具有哪些特点

热门文章

  1. Hive insert into小文件问题优化解决
  2. C语言爬虫程序,simspider
  3. java内存堆和栈_java中堆,栈主要区别及内存存储
  4. String, StringBuffer,StringBuilder
  5. 基于Givens变换的QR分解
  6. chinese-ocr自然场景下不定长文字识别(ctpn + densenet)
  7. CVE-2016-3714-ImageMagick 漏洞利用
  8. 20面向对象三特征 之继承 方法重写 super
  9. ubuntu下安装vmtool
  10. Codeforces 61B【怪在读题】