整除运算与取模运算 |
您所在的位置:网站首页 › 表格整除公式 › 整除运算与取模运算 |
凡是呈现明显周期性的,比如十二生肖(以十二为周期),比如星期(以 7 为周期),比如天干(以 10 为周期),比如地支(以 12 为周期),最佳的解决方案就是取模(或者简单地说对该周期取余数)。 两个整数间能够整除(余数为 0)的全部意义正在于 ⇒ 实现均分; 10 个小朋友,两两分组,共分 5 组;10 个小朋友,55分组,共分 2 组;在比如质数个小朋友(如 7 个),就没办法实现均匀的分配人数了;在 C语言的环境下,将一个整数对 2 不断地做整除: 0/2 ⇒ 0, 1/2 ⇒ 02/2 ⇒ 1, 3/2 ⇒ 1, 4/2 ⇒ 2, 2/2 ⇒ 15/2 ⇒ 2, 2/2 ⇒ 1也即除了 0/1 之外的任何正整数,不论是奇数还是偶数,不断地对 2 整除的最终结果都会是 1; 15/2 = 7 /2 = 3 /2 =1 1. 截断低位与抹除高位如果一个数(二进制形式 n 位)对 2k 整除和取模: (1)整除是截断低位(k),保留高位(n-k);(2)取模运算是抹除最高比特位(要求 k = n-1);不妨以 10(1010) 和 8(1000) 为例: (1)整除:10/8 == 1(2)取模:10%8 == 010 == 2 2. 整除:降低分辨率,取模运算:转换值域 整除:降低分辨率,取模:转换值域 2.1 整除 [0,5)5⇒0[5,10)5⇒1⋮[5n,5n+1)5⇒n 2.2 取模 x%5⇒[0,5)/0,1,2,3,4x%N⇒[0,N)/0,1,2,…,N−1 3. 计算星期几 3.0 计算十天后是星期几 10%7=3就以今天 2016 年 6 月 22 为星期三,一周也即 7 天后的仍是星期三,则10天后是星期六,10 对 7 取模的含义正在与,获取余数,3(星期三)+3(余数3) = 6。 3.1 计算元旦的星期计算星期几,不可避免地要同 7 的取模运算挂上联系。 平年:365天,52 周余 1 天;闰年:366天,52 周余 2 天;2016 年的元旦是星期 5,则 2017 年元旦是星期星期日(5+2=7),2016年是闰年。 3.2 计算任意一天的一年后的这一天是星期几我们继续升级这一问题,计算任意一天的一年后的这一天是星期几。这道题目比计算元旦稍微复杂的是,需要判断这一天到一年后的今天所跨越的 2 月是有 28 天还是 29 天,而不直接取决当年是否是闰年。 以 2016 年 6 月 22 日为例,这一天是星期三,则一年后的今天,即 2017 年 6 月 22 是星期几? 从 2016 年 6 月 22 到 2017 年 6 月 22 中间经历的 2 月,是 2017 年的二月,28天,也即从 2016年 6 月 22 到 2017 年 6 月22,所经历的一年是 365 天。 则 2017 年 6 月 22 是 星期 4 (3 + 1). 4. 计算十二生肖 (1)鼠,(2)牛,(3)老虎,(4)兔(5)龙,(6)蛇,(7)马,(8)羊(9)猴,(10)鸡,(11)狗,(12)猪查阅万年历可知:1900 年是鼠年,2000 年是龙年, 比如我们要计算 1987 年的属相,87 % 12 = 3,鼠年之后的第四年,那就是 4 兔。 比如我们要获得 2016 年的属相,16 % 12 = 4,龙年之后的第四年,那就是 4+5 = 9 猴年。 5. 限定范围一个数对 A 取模,所得的结果要小于 A,取模相当于除法运算的求余,余数自然小于除数; |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |