数列总结函数——取余分析

x    1    2    3    ……

y    1    2    3    ……   n-1            0    1    ……

y = x % n

x    1    2    3    ……

y    2    3    4    ……   n-1            0    1    ……

y = ( x + 1 ) % n

x    1    2    3    ……

y=  0    1    2    ……   n-1            0    1    ……

y = ( x + n - 1 ) % n

I.以①中“y = x % n”为标准,右移k位,则为“y = ( x + k ) % n”。第一位为0时代表右移 ( n – 1 ) 位 ,即把0视为n

x          1    2    3    ……

y          1    2    3    ……   n          1    2    ……

y-1       0    1    2    ……   n-1            0    1    ……

y = ( x + n - 1 ) % n + 1

x          1    2    3    ……

y          2    3    4    ……   n+1     1    2    ……

y-1       1    2    3    ……   n-1            0    1    ……

y = x % n + 1

II.当循环节为n时,把数同时加或减变为0,1,……,n-1的形式,再执行I操作

时间: 2024-10-07 01:22:13

数列总结函数——取余分析的相关文章

fibonacci数列的和取余

Maybe ACMers of HIT are always fond of fibonacci numbers, because it is so beautiful. Don't you think so? At the same time,fishcanfly always likes to change and this time he thinks about the following series of numbers which you can guess is derived

快速幂取余算法

下面是一个快速幂的介绍: 先贴一个秦九韶算法(Horner算法)的原理: 设有项的次函数 将前项提取公因子,得 再将括号内的前项提取公因子,得 如此反复提取公因子,最后将函数化为 令 ...... 则即为所求 下面是讲解快速幂的:(By  夜せ︱深   感谢作者) 快速幂取模算法 在网站上一直没有找到有关于快速幂算法的一个详细的描述和解释,这里,我给出快速幂算法的完整解释,用的是C语言,不同语言的读者只好换个位啦,毕竟读C的人较多~ 所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求

高速幂取余算法

以下是一个高速幂的介绍: 先贴一个秦九韶算法(Horner算法)的原理: 设有项的次函数 将前项提取公因子,得 再将括号内的前项提取公因子.得 如此重复提取公因子,最后将函数化为 令 ...... 则即为所求 以下是解说高速幂的:(By  夜せ︱深   感谢作者) 高速幂取模算法 在站点上一直没有找到有关于高速幂算法的一个具体的描写叙述和解释,这里,我给出高速幂算法的完整解释,用的是C语言.不同语言的读者仅仅好换个位啦,毕竟读C的人较多~ 所谓的高速幂.实际上是高速幂取模的缩写,简单的说,就是高

汇编总结:无符号除法,有符号除法,取余,无符号乘法,有符号乘法

本文分为3个模块. 示例---该指令的示例 解释---为指令不好理解的地方 练习---为了更熟悉该指令 1.1 有符号除法指令及取余example: 在c语言里要完成 8 / 2的汇编指令如下: 在c语言里要完成 8 % 2的汇编指令如下: 4个字节的除法及取余运算示例如下: .section .text .global _start _start:     movl $8, %eax   #被除数是%edx:%eax 是这两个寄存器拼起来的%eax存放低位%edx存储高位     movl %

2014年百度之星程序设计大赛 - 初赛(第一轮) hdu Grids (卡特兰数 大数除法取余 扩展gcd)

题目链接 分析:打表以后就能发现时卡特兰数, 但是有除法取余. f[i] = f[i-1]*(4*i - 2)/(i+1); 看了一下网上的题解,照着题解写了下面的代码,不过还是不明白,为什么用扩展gcd, 不是用逆元吗.. 网上还有别人的解释,没看懂,贴一下: (a / b) % m = ( a % (m*b)) / b 笔者注:鉴于ACM题目特别喜欢M=1000000007,为质数: 当gcd(b,m) = 1, 有性质: (a/b)%m = (a*b^-1)%m, 其中b^-1是b模m的逆

JS利用取余实现toggle多函数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

poj 3349:Snowflake Snow Snowflakes(哈希查找,求和取余法+拉链法)

Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 30529   Accepted: 8033 Description You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Y

轻院 2180GJJ的日常之沉迷数学 逆元求除法取余

题目链接:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2180 题目大意:求数列 k0,k1,k2...kn的和,即等比数列的前n项和对1e9+7取余的结果. 解题思路:等比数列前N项和为 ,因此只要能够取余即可求得结果.利用扩展GCD求q-1关于mod的逆元然后快速幂取模计算即可. 代码: 1 const int inf = 0x3f3f3f3f; 2 const int maxn = 1e6 + 5; 3 int k, n; 4 5 vo

PHP抓取及分析网页的方法详解

本文实例讲述了PHP抓取及分析网页的方法.分享给大家供大家参考,具体如下: 抓取和分析一个文件是非常简单的事.这个教程将通过一个例子带领你一步一步地去实现它.让我们开始吧! 首先,我首必须决定我们将抓取的URL地址.可以通过在脚本中设定或通过$QUERY_STRING传递.为了简单起见,让我们将变量直接设在脚本中. ? 1 2 3 <?php $url = 'http://www.php.net'; ?> 第二步,我们抓取指定文件,并且通过file()函数将它存在一个数组里. ? 1 2 3