题目大意:

给出n求sn,中括号代表向下取整。

为了方便表述,我们令a = (3k+6)!,b = (3k+7),令c = (a+1)/b也就是式子中的前半部分,d = a/b也就是式子中的后半部分。

观察c,d我们可以知道只有当c为整数时[c-[d]]为1,其他时候都是0,即只有当(a+1)%b==0时[c-[d]] == 1。

威尔逊定理告诉我们:当且仅当p为素数时:( p -1 )! ≡ -1 ( mod p )。

首先我们要介绍一个定理。

拉格朗日定理:群的子群的规模能被群的规模整除,我们在这里只拿乘法群做出证明,可以知道,一个乘法群能够分解成一些相交点只有1的乘法子群。

假设一个规模为n(即模n+1)的乘法群其可以分成m个相交点只有一的乘法子群,我们提出任意两个乘法子群,a1,a2..ax,与b1,b2..by将两子群中元素两两配对,

   b1        b2     ...       by

a1   a1*b1   a1*b2          a1*by

a2

.

.

ax      ax*b1  ax*b2     ax*by

我们可以证明在这个合成的群中,任意两个数都不相等,反证法证明如下:

设两个元素分别为ai*bj,a(i+r)*b(j+k),如果两个元素相等的话我们可以得出

ai*bj = ai*ar*b(j+k)

bj = ar*b(j+k)除非ar为1否则这与我们定义的两个循环子群是相悖的;以上证明完毕。

可以很轻易的知道所有子群合并后的群必然包括了所有群的元素,可知将所有循环子群合并后群的规模为所有子群规模的乘积,也即所有循环子群的规模能够被群的规模所整除,循环子群合并所生成的群是群的子群,规模也能够被群的规模所整除,而所有循环群的子群也可以很轻易的知道,规模能够被循环群所整除,讲所有上述子群所形成的的新群也可以很轻易地知道包括了所有的群的子群的情况,以上拉格朗日定理证明完毕。

接下来证明威尔逊定理:

由于1~p-1能够构成呢模p的乘法子群,由逆元唯一性可知,每个元素都有有零一个元素使其两两相乘结果为一,除了1和一和x^2 ≡ 1(mod q)当x = q-1的时候成立,所以威尔逊定理成立。

hdu2937的更多相关文章

  1. HDU2937 YAPTCHA(威尔逊定理)

    YAPTCHA Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

随机推荐

  1. php知识点总结(待续)

    function_exist()如果没有函数,返回空. is_string($str) 如果$str是布尔型的值,返回为空.是返回1,错误返回空is_array() 同上 字符串输出时,加逗号就自动空 ...

  2. javascript 正则匹配手机号码

      <form class="form-horizontal" name="mobileform" style="padding:10px;&q ...

  3. 可选头 IMAGE_OPTIONAL_HEADER

    //IMAGE_OPTIONAL_HEADER结构(可选映像头) typedef struct _IMAGE_OPTIONAL_HEADER { // // Standard fields. // W ...

  4. VMware虚拟机ping出现DUP!

    VMware虚拟机ping出现DUP!   ping 外网, 还是ping 网关都出现DUP! 百度查了许久,各种方法都无效,无奈只能google看老外的方法. http://codeblog.co. ...

  5. 使用__autoload()来管理文件导入

    其基本思想是把要使用到的其他资源文件统一使用__autoload()方法来管理,我们在使用的时候只需要引入包含__autoload()方法的文件即可.其对性能的影响是微乎其微的,但是带来的好处是巨大的 ...

  6. jboss部署应用

    简单的部署应用. 第一种方法是直接写JSP代码,然后放到指定的WAR文件夹中. 第二种,是同时META-INF下的application.xml文件,然后用JAR -CF编成WAR,再集合JSP形成E ...

  7. Delphi:窗体自适应屏幕分辨率(根据预设值的比例改变)

    delphi 程序适应屏幕分辨率,先在表单单元的Interface部分定义两个常量, 表示设计时的屏幕的宽度和高度(以像素为单位). 在表单的Create事件中先判断 当前分辨率是否与设计分辨率相同, ...

  8. 对类HelloWorld程序中添加一个MessageBox弹窗

    对类HelloWorld程序中添加一个MessageBox弹窗 分析: 任一程序运行的时候都会加载kernel32.dll的,但MessageBoxA()这个API却是在user32.dll中的.所以 ...

  9. 【C++基础之十一】虚函数的用法

    虚函数的作用和意义,就不进行说明了,这里主要讨论下虚函数的用法. 1.典型的虚函数用法 可以看到,只有标识为virtual的函数才会产生多态的效果,而且是编译多态.它只能借助指针或者引用来达到多态的效 ...

  10. 用nginx做代理服务器上网

    用nginx做代理服务器上网 目前现状:只有1个机器能上网(web),其他机器不能方法:能上网的做一个代理web服务器中转,其他机器连接它即可.采用nginx Nginx配置如下: server{   ...