首页
学习
活动
专区
圈层
工具
发布

程序员的数学笔记2--余数

今天介绍的是余数,看完本节笔记,你会发现生活中有很多东西都有余数的影子。 ---- 余数 余数的特性 整数是没有边界的,它可能是正无穷,也可能是负无穷。 但余数却总是在一个固定的范围内。...同余定理 两个整数 a 和 b,如果它们除以正整数 m 得到的余数相等,我们就可以说 a 和 b 对于模 m 同余。 同余定理可以用来做分类,或者说是均分操作。...更进一步,如果想增加数据散列的随机程度,可以加入一个较大的随机数 MAX,如下所示: f(x) = (x + MAX) mod size 比如对标号为 1 的记录,随机数是590199,那么计算结果是得到余数为...例如对数字 625 加密,根据刚刚的规则,随机数采用 590127,百、十和个位数都分别加上这个随机数,分别得到的是 590133、590129、590132,接着分别除以 7,得到的余数分别是 5,1,4...---- 欢迎关注我的微信公众号--机器学习与计算机视觉,或者扫描下方的二维码,大家一起交流,学习和进步! 如果你觉得我写得不错,可以给我点个好看哦!

72630

啰嗦的除法

整数除以整数 看官请在启动idle之后,练习下面的运算: >>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 看到没有?...麻烦出来了,如果从小学数学知识除法,以上四个运算结果都应该是0.4。但我们看到的后三个符合,第一个居然结果是0。why? 因为,在python里面有一个规定,像2/5中的除法这样,是要取整。...2除以5,商是0(整数),余数是5(整数)。那么如果用这种形式:2/5,计算结果就是商那个整数。或者可以理解为:整数除以整数,结果是整数(商)。...浮点数与整数相除 列为看官注意,这个标题和上面的标题格式不一样,上面的标题是“整数除以整数”,如果按照风格一贯制的要求,本节标题应该是“浮点数除以整数”,但没有,现在是“浮点数与整数相除”,这是因为包含了以下三种情况...还留下了很多话题,比如如何处理循环小数问题,我肯定不会让有探索精神的朋友失望的,在我的github中有这样一个轮子,如果要深入研究,可以来这里尝试。

2.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    这个问题写SQL都不好,用Power Query却能随数据增加一键刷新

    大海:以前这个问题很多大神喜欢用SQL来解,但写SQL有个问题,就是如果再加个2列,那就得改SQL了,现在的话建议用PowerQuery来解。 小勤:我也尝试了一下用PQ来解,但感觉搞不定呢。...大海:这个其实不难,但需要对PQ里的透视、逆透视和添加列等运用得比较熟练,我做一遍,你慢慢体会一下。...)”列 2表示对索引列除以2,得到的商(整数)部分。...如: 0除以2,得到商为0,余数为0,取商,即得到0; 1除以2,得到商为0,余数为1,取商,即得到0; 2除以2,得到商为1,余数为0,取商,即得到1; 3除以2,得到商为1,余数为1,取商,即得到1...数据上载 小勤:为什么要加上那个“除(整数)“的列呢?

    1.7K60

    用js来实现那些数据结构05(栈02-栈的应用)

    看看如何用栈来解决进制转换,平衡圆括号以及汉诺塔问题,使我们对栈有更为深入的理解。 1、进制转换 我们先来看看十进制如何转换成二进制,十进制整数转换为二进制整数采用"除2取余,逆序排列"法。...具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来...简单来说就是拿十进制数去除以二,如果整除了,那么余数为0,放入栈中,如果没有整除,余数就是1,放入栈中,直至相除的结果为0。依据所得到的结果,后得到的余数排列在最前面。也就是栈顶元素从左到右排列。...,因为这里不取整的话会出现小数,js没有浮点或者整形这一说。...number本身并没有除以二,所以这里除以二是为了保证后面可以再一次取余的结果正确性 number = Math.floor(number / 2); } //这里的意思是如果栈中还有元素

    1.1K70

    BCD码(8421)和整数互转算法的梯形图实现

    在工业控制中,PLC可能要和现场仪表或计算机交互数据,如果PLC没有BCD和整数互转的功能块,那么就需要工程师自行编写转换程序。...如果要转换的数大于等于4096(0x1000) a. 把Input除以4096得到千位数值A; b. 把Input对4096做取余运算得到余数Y; c. 把余数Y除以256得到百位数值B; d....把余数Y对256做取余运算得到余数Z; e. 把余数Z除以16得到十位数值C; f. 把余数Z对16做取余运算得到个位数值D; g....如果要转换的数大于1000(16位转换需要小于9999) a. 把Input除以1000得到千位数值A; b. 把Input对1000做取余运算得到余数Y; c....把余数Y除以100得到百位数值B; d. 把余数Y对100做取余运算得到余数Z; e. 把余数Z除以10得到十位数值C; f. 把余数Z对10做取余运算得到个位数值D; g.

    2.8K20

    详解Winograd变换矩阵生成原理

    而且即使已经看懂了整体部分,但是很多细节部分如果仔细去想就会觉得自己还没有完全弄懂。 这里我把收集到的所有相关资料链接都统一放到文末参考资料里面,也方便读者去查阅。...这里首先引入同余式的概念:若正整数 和 分别对 取模的余数相同,则可以记作 ,也就是 和 模 同余。...首先我们可以把问题分解一下,如果能找到3个整数 ,分别满足: 那么 就是解,因为根据取模运算法则: 然后接着接续分解问题,如果能找到3个整数 ,分别满足: 那么令...然后求得: 最后注意到,如果 满足除以3余2、除以5余3、除以7余2,那么 也同样满足,这个结论应用取模运算法则推导一下就知道是正确的。...然后假设如果存在整数 都满足“除以3余a、除以5余b、除以7余c”。

    5.1K20

    详解Winograd变换矩阵生成原理

    而且即使已经看懂了整体部分,但是很多细节部分如果仔细去想就会觉得自己还没有完全弄懂。 这里我把收集到的所有相关资料链接都统一放到文末参考资料里面,也方便读者去查阅。...这里首先引入同余式的概念:若正整数 和 分别对 取模的余数相同,则可以记作 ,也就是 和 模 同余。...首先我们可以把问题分解一下,如果能找到3个整数 x1,x2,x3 ,分别满足: 那么 就是解,因为根据取模运算法则: 然后接着接续分解问题,如果能找到3个整数 y1,y2,y3 ,分别满足: 那么令...然后求得: 最后注意到,如果 x 满足除以3余2、除以5余3、除以7余2,那么 也同样满足,这个结论应用取模运算法则推导一下就知道是正确的。...然后假设如果存在整数 都满足 “除以3余a、除以5余b、除以7余c” 。

    1.8K30

    数论部分第一节:素数与素性测试【详解】

    每次写Hash函数之类的东西需要一个BigPrime常量时我就取她的生日,希望她能给我带来好运。偶尔我叫她素MM,没人知道是啥意思,她自己也不知道。     素数有很多神奇的性质。...首先我们证明这样一个结论:如果p是一个素数的话,那么对任意一个小于p的正整数a,a, 2a, 3a, …, (p-1)a除以p的余数正好是一个1到p-1的排列。...例如,5是素数,3, 6, 9, 12除以5的余数分别为3, 1, 4, 2,正好就是1到4这四个数。     ...反证法,假如结论不成立的话,那么就是说有两个小于p的正整数m和n使得na和ma除以p的余数相同。不妨假设n>m,则p可以整除a(n-m)。但p是素数,那么a和n-m中至少有一个含有因子p。...通常我们的做法是,随机选择若干个小于待测数的正整数作为底数a进行若干次测试,只要有一次没有通过测试就立即把 这个数扔回合数的世界。这就是Fermat素性测试。

    1.7K100

    Python 取模运算符

    本文最先发布在:https://www.itcoder.tech/posts/python-modulo-operator/ 取模运算符是一个算术运算符,它计算一个数字除以另外一个数字之后,剩下的数字...这个剩下的数字(余数)被称作模数。 例如,5除以3,等于1,模数为2。8除以4,等于2,模数为0。 一、Python 取模操作符 在 Python 中,取模操作符是百分号(%)。...二、例子 取模操作符一个最普通的用户场景就是去检查一个数字是否是奇数或者是偶数。如果一个数字除以2没有余数,那么是一个偶数。否则,如果余数为1,那么这个数字就是奇数。...然后我们检查从2到num都没有余数。如果没有一个条件满足,那么这个数字就是素数。 取模操作符还可以被用来换算。...三、总结 在这篇文章中,我们向你展示如何使用 Python 的取模操作符。

    12.7K30

    【数据结构】考研408 | 散列函数构造精解:从直接定址到平方取中的原理、场景与实战权衡

    那么,如何设计一个优秀的哈希函数?这正是本篇将要解答的核心问题。...\bm{p} 的 余数 \bm{r} 是否相同,进而判断是否会发生 冲突: 余数相同,则发生冲突 余数不同,则不发生冲突 接下来我们就来一起探讨一下 余数; 3.1.1 余数 余数是整数除法中的基本概念...取模运算 实际上就是 只取余数 的 除法运算,因此我们想要获取 余数 与 模数 以及 被模数 之间的关系,就需要借助 除法运算。...0 \leq r \leq p - 1; 3.1.2 因数 因数是数学中描述整数之间整除关系的一个基本概念: 若整数 a 除以整数 b(b ≠ 0)的商正好是整数且余数为零,则称 b 是 a 的因数 根据因数的定义...除留余数法 用关键字除以一个数(模数 p)所得的余数作为哈希地址(H(key) = key mod p)。 最常用、适用性最广的方法,尤其适用于关键字分布未知的情况。 计算简单,使用灵活。

    44910

    Java运算符-算术运算符

    小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!前言Java作为一种广泛使用的编程语言,其基础知识对于初学者来说至关重要。...取余运算符(%):用于将两个数相除,得到余数。递增/递减运算符:用于对变量进行递增或递减操作。...接着,通过除法运算符将a除以b,并将结果赋值给变量quotient。最后,通过取余运算符取a除以b的余数,并将结果赋值给变量remainder。...判断一个数是否为偶数:使用取余运算符判断一个数除以2的余数是否为0。优缺点分析算术运算符的优点在于它们提供了基本的数学运算功能,并且使用简单、直观。此外,它们还可以通过结合使用,实现更复杂的计算。......文末好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。... ...学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

    96731

    Java基础教程:算术运算符快速掌握

    取模运算符(%)  取模运算符用于取两个数值相除的余数。...例如,我们可以使用取模运算符取两个整数相除的余数:int a = 10;int b = 3;int c = a % b; // c的值为1  在上面的代码中,我们定义了两个整数变量a和b,并使用取模运算符取...a除以b的余数,将结果赋值给了变量c。  ...由于a和b都是整数类型,所以这里采用的是整数除法,结果为2。对a进行取模运算,并赋值给变量g。即10除以3的余数为1。......文末好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。... ...学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

    62251

    论地球online新手程序猿是什么时候意识到算法的重要性~

    题目内容 给定两个数,求这两个数的最大公约数 例如: 输入:20 40 输出:20 博主的答案 思路与框架 题目内容简洁明了,稍微思考了一下给出一下算法框架: 1.scanf接受输入的数字 2.使用取余数求得两个数的所有公约数...可以添加一个检查点,检查write函数是否成功添加节点,不过我比较懒,没有弄(doge)。...用较小的数去除较大的数:将a除以b,得到商q和余数r,即a = bq + r,其中0 ≤ r < b。 替换较大的数:将a替换为b,将b替换为r。...举个例子,求48和18的最大公约数: 48除以18,商为2,余数为12(48 = 18 * 2 + 12)。 将48替换为18,将18替换为12,然后用18除以12。...18除以12,商为1,余数为6(18 = 12 * 1 + 6)。 将18替换为12,将12替换为6,然后用12除以6。 12除以6,商为2,余数为0(12 = 6 * 2 + 0)。

    45600

    salesforce 零基础学习(四十三)运算取余

    工作中遇到一个简单的小问题,判断两个数是否整除,如果不整除,获取相关的余数。...习惯java的我毫不犹豫的写下了代码 public Boolean isDivisibility(Integer dividend,Integer divider) { return dividend...后来查看API发现apex中没有直接的%取余运算,所以如果想要取余以及判断是否整除需要其他方式,代码如下: public without sharing class MathHelper {...通过上述代码可以看出,我们运算的主要方式为将被除数转换成Decimal类型,除以除数得到Decimal类型的余数,通过取舍规则获取他的上限值和下限值,如果上限和下限相等,则整除,否则不整除。...   -1.7通过RoundingMode.FLOOR操作以后变成了-2; 总结:本篇主要描述两个整数是否整除并且获取余数的方法以及取舍模式的几个值得概念以及定义,详情了解请自行查看官方API文档,有错误的地方欢迎指正

    1.6K80

    Java与C语言中取模运算符%的区别对比

    Java C语言中的取模运算符 % 基本行为 在C语言中,取模运算符 % 的主要功能是计算两个整数相除后的余数。具体来说,a % b 表示 a 除以 b 后得到的余数。...符号规则: C语言的取模运算符遵循与除法类似的符号规则。如果被除数为负,余数的符号将与被除数相同。也就是说,-10 % 3 的结果是 -1,而不是 2。...对浮点数的支持 Java特别之处在于它支持浮点数类型(float 和 double)的取模操作。当操作数是浮点数时,% 计算的是浮点数的余数,而不仅仅是整数余数。...浮点数支持 C语言:不支持浮点数取模。% 运算符只适用于整数类型。 Java:支持浮点数取模。对于浮点数,Java计算的是浮点数余数,而不仅仅是整数余数。...a % b 给出的是 a 除以 b 后的余数,而 a / b 给出的是商(向零取整)。 小结 通过对比C语言和Java中的 % 运算符,我们可以看到它们在使用上的一些关键差异。

    98410

    斐波那契数列题型汇总

    当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。...说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。...= b; b = c; } printf( "%u", b ); return 0; } 有位朋友给出了对这道题给出了另外一种解法,在此转述如下: 我通过列举前...不同的地方就是,如果Fn对应的余数大于了10007,那么这个余数的值是前一个余数加上前一个余数的前一个余数的和模上10007。...1或2,则直接输出值 continue; } enter -= 2; //如果不是,就从 N=3 开始计算

    1.1K60

    Java中的数字类解析(包括格式化数字、大数运算等等)

    格式化数字 掌握math类中的各种数学运算方法 生成任意范围随机数 掌握大整数和大小数的数字运算方式 格式化数字 Java中如果数据绝对值大于0.001而小于10000000用常规小数表示,否则采用科学计数法表示...System.out.println("随机产生一个整数:" + r.nextInt()); // 随机产生一个大于等于0小于10的整数 System.out.println("随机产生一个大于等于...:" + bigInstance.multiply(new BigInteger("2"))); // 取该大数字除以2的操作 System.out.println("除法操作:"...+ bigInstance.divide(new BigInteger("2"))); // 取该大数字除以3的商 System.out.println("取商:" + bigInstance.divideAndRemainder...(new BigInteger("3"))[0]); // 取该大数字除以3的余数 System.out.println("取余数:" + bigInstance.divideAndRemainder

    2K10
    领券