第五周 8.16-8.22

8.16

补BC。

HDU 5391 Zball in Tina Town

求(n-1)!%n。

首先合数的话前面必然有它的因子。所以是0。

质数我打表才发现是n-1。

然而有一个著名的威尔逊定理(渣根本没听过。

坑在于n=4时是2。没判就死了QAQ。

 1 # include <iostream>
 2 # include <cstdio>
 3 using namespace std;
 4 typedef long long LL;
 5
 6 LL qpow(int a,int b,int r)
 7 {
 8     LL ans=1,buff=a;
 9     while(b)
10     {
11         if(b&1)ans=(ans*buff)%r;
12         buff=(buff*buff)%r;
13         b>>=1;
14     }
15     return ans;
16 }
17
18 bool Miller_Rabbin(int n,int a)
19 {
20     int r=0,s=n-1,j;
21     if(!(n%a))
22         return false;
23     while(!(s&1)){
24         s>>=1;
25         r++;
26     }
27     LL k=qpow(a,s,n);
28     if(k==1)
29         return true;
30     for(j=0;j<r;j++,k=k*k%n)
31         if(k==n-1)
32             return true;
33     return false;
34 }
35
36 bool IsPrime(int n)
37 {
38     int tab[]={2,3,5,7};
39     for(int i=0;i<4;i++)
40     {
41         if(n==tab[i])
42             return true;
43         if(!Miller_Rabbin(n,tab[i]))
44             return false;
45     }
46     return true;
47 }
48
49 int main(void)
50 {
51     int T; cin>>T;
52     while(T--)
53     {
54         int n; scanf("%d",&n);
55         if(n==4) printf("2\n");
56         else if(!IsPrime(n)) printf("0\n");
57         else printf("%d\n",n-1);
58     }
59     return 0;
60 }

Aguin

时间: 2024-10-06 00:22:02

第五周 8.16-8.22的相关文章

第十二周 5.16 --- 5.22

5.16 ... 5.17 cf353 c  C - Money Transfers 只想到如果一个区间长度为 x 的话,需要 x-1次操作 然后一直想环形转成线形要怎么做... 看题解. 可以考虑成 k 个区间 每个区间的和都为 0 那么 需要 n-k次 只要 k 最大 暴力算前缀和,如果碰到一次前缀和相等的,就说明中间那一段为 0 了 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #inc

20145326蔡馨熠《信息安全系统设计》第五周学习总结

教材学习内容总结 书上有的内容我就不重复赘述了,只需要将部分重要的知识点归纳总结一下. 1.使用GDB的堆栈跟踪功能(GDB中有很多针对调用堆栈的命令,都需要一个目标栈帧,例如打印局部变量值的命令) 在栈帧之间切换 frame args 将当前栈帧设置为args(编号或Address)指定的栈帧,并打印该栈帧的简要信息. up n 向上回退n个栈帧(更外层),n默认为1. down n 向下前进n个栈帧(更内层),n默认为1. 打印栈帧信息(不移动栈帧) frame 打印当前栈帧的简要信息. i

信息安全设计基础第五周学习总结

信息安全系统设计基础第五周学习总结 [学习时间:10小时] [学习内容:第三章:程序的机器表示] 一.教材内容 1.X86 寻址方式的变化: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全: 2 8086的分段模式: 3 IA32的带保护模式的平坦模式 2.机器编程的两种抽象: 1)指令集体系结构(Instruction set architecture,ISA)——定义指令格式以及每条指令执行之后对状态的影响.大多数ISA将程序行为描述成按顺序执行的: 2)虚拟地址 3.一些处理

软件工程_东师站_第五周作业

1.psp Date Type Job Start Int(min) End Total(min) 20160404 助教 团队博客 14:00 16:20 25 14:25 18:00 100 站立会议 "耐撕"站立会议 15:10 15:40 30 编码 重构 18:00 5 18:30 25 编码 选择抢答者(JSP) 18:30 10 19:30 50 20160405 编码 选择抢答者(生成抢答者圈圈) 18:10 15 19:00 35 看书 计算机网络与因特网 22:00

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装

五周第二次课(1月9日)7.6 yum更换国内源7.7 yum下载rpm包7.8/7.9 源码包安装扩展1. 配置yum源优先级 http://ask.apelearn.com/question/7168 2. 把源码包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm 命令::================================================================================

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

五周第三次课(1月10日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 history命令: 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件. 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令.例如,要执行第2个历史命令,则输入!2. 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命

20172311 2017-2018-2 《程序设计与数据结构》第五周学习总结

20172311 2017-2018-2 <程序设计与数据结构>第五周学习总结 教材学习内容总结 第五六章整体上来讲主要学习了条件判断与循环.小的知识点主要还有: 1.语句执行的顺序称为控制流,方法调用会引起控制流的改变. 2.相等性运算符由两个并列的等号组成,不要和只有一个等号的赋值运算符想混淆. 3.相等性运算符和关系运算符的优先级比算术运算符的优先级低. 4.在三种逻辑运算符中,逻辑非具有最高的优先级,其次是逻辑与,最后是逻辑或.逻辑运算符经常用于构成复杂的条件. 5.编写语句时适当的缩

20172308《程序设计与数据结构》第五周学习总结

20172308 2017-2018-2 <Java程序设计>第五周学习总结 教材学习内容总结 1.条件判断 a.if语句: 如果条件表达式的运算结果是true,则执行if中的语句,然后执行if后面的语句 b.if-else语句:如果条件成立执行第一条语句,不成立则执行else语句. c.switch语句:先计算表达式,与几个可能的case子句取值进行匹配,控制会跳转到第一条匹配的case子句执行.无匹配则执行default. 2.循环 a.while:先执行表达式计算,循环体执行完后再次计算

201771010125王瑜《面向对象程序设计(Java)》第十五周学习总结

201771010125王瑜<面向对象程序设计(Java)>第十五周学习总结 一.理论部分 1.Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GUI界面程序就可以直接双击图标运行. 2..jar文件(Java归档)既可以包含类文件,也可以包含诸如图像和声音这些其它类型的文件.JAR文件是压缩的,它使用ZIP压缩格式. 3.jar命令格式: jar {ctxui} [vfm0Me] [jar-file] [manifest-file] [entry-poi

20145317《信息安全系统设计基础》第五周学习总结2

20145317<信息安全系统设计基础>第五周学习总结2 教材学习内容总结 X86 寻址方式经历三代: DOS时代的平坦模式,不区分用户空间和内核空间,很不安全. 8060的分段模式 IA32的带保护模式的平坦模式 程序编程 1.代码含义 gcc -01 -o p p1.c -01 表示使用第一级优化.优化的级别与编译时间和最终产生代码的形式都有关系,一般认为第二级优化-02 是较好的选择. -o 表示将p1.c编译后的可执行文件命名为p 2.机器级编程的两种抽象 指令集结构ISA 是机器级程