Description

Input

Output

Sample Input

7 3
5 2 0

Sample Output

100

Data Constraint

好霸气的题目名

对于φ(n)我们可以线性求出来,然后先判断qφ(n)mod n的意义下是否等于1,是的话再对φ(n)进行因数分解,看看它的因子a是否满足qamod n的意义下是否等于1,若都不等于1则这个数字就是神奇的。

一般而言这个φ(n)的因数并不多。

 1 #include <cstring>
 2 #include <cstdio>
 3 #include <iostream>
 4 #include <cmath>
 5 #include <cstdlib>
 6 #define N 10000005
 7 using namespace std;
 8 long long p;
 9 long long n,q,fai,a,yin[N],top;
10 bool qwq;
11 long long read(){
12     long long x=0,w=1;
13     char c=0;
14     for (c=getchar();c<'0'||c>'9';c=getchar()) {if (c=='-') w=-1;}
15     for (;c>='0'&&c<='9';c=getchar()) x=(x<<3)+(x<<1)+c-'0';
16     return x*w;
17 }
18 long long getfai(){
19     long long qwq=n,a=n;
20     for (long long i=2;i*i<=a;++i)
21         if (a%i==0){
22             qwq=qwq/i*(i-1);
23             while (a%i==0) a/=i;
24         }
25     if (a>1) return qwq/a*(a-1);
26     return qwq;
27 }
28 long long kuai(long long a,long long b){
29     long long qwq=1;
30     long long qaq=a;
31     while (b){
32         if (b&1) qwq=qwq*qaq%n;
33         qaq=qaq*qaq%n;
34         b>>=1;
35     }
36     return qwq;
37 }
38 void getyin(){
39     top=0;
40     long long a=fai;
41     for (long long i=2;i*i<=a;++i)
42         if (a%i==0){
43             yin[++top]=i;
44             yin[++top]=a/i;
45         }
46 }
47 int main(){
48     n=read();
49     p=read();
50     fai=getfai();
51     getyin();
52     while (p--){
53         q=read();
54         if ((q==0)||(kuai(q,fai)%n!=1)) {putchar('0');continue;}
55         qwq=true;
56         for (long long i=1;i<=top;++i)
57          if (kuai(q,yin[i])%n==1) {qwq=false; break;}
58         if (qwq) putchar('1');
59         else putchar('0');
60     }
61     return 0;
62 }

神奇的代码

转载于:https://www.cnblogs.com/Lanly/p/7405071.html

JZOJ.5325【NOIP2017模拟8.21】九九归一相关推荐

  1. jzoj5920. 【NOIP2018模拟10.21】风筝(dp,最长上升子序列)

    5920. [NOIP2018模拟10.21]风筝 Description 当一阵风吹来,风筝飞上天空,为了你,而祈祷,而祝福,而感动-- Description oyiya 在 AK 了 IOI 之 ...

  2. JZOJ 5379. 【NOIP2017提高A组模拟9.21】Victor爱数字

    Description Victor 是一名热爱数字的同学.他最近在思考这样一个问题: 一个字符串是回文的当且仅当它倒过来还和原来相同.那么如果一个数的数串没有一个长度超过1 的子串是回文串的话,它就 ...

  3. JZOJ.5234【NOIP2017模拟8.7】外星人的路径

    Description 有一个外星人控制了你的大脑.一开始你处于原点(0,0).外星人有一个由(R,U,D,L)组成的长度为M 的操作序列,分别代表(右,上,下,左). 平面上有N 个关键点,每当外星 ...

  4. JZOJ 5678. 【GDOI2018Day2模拟4.21】果树

    Description NiroBC 姐姐是个活泼的少女,她十分喜欢爬树,而她家门口正好有一棵果树,正好满足了她爬树的需求. 这颗果树有N个节点,节点标号 1-N.每个节点长着一个果子,第i个节点上的 ...

  5. JZOJ 5234. 【NOIP2017模拟8.7A组】外星人的路径

    Description 有一个外星人控制了你的大脑.一开始你处于原点(0,0).外星人有一个由(R,U,D,L)组成的长度为M 的操作序列,分别代表(右,上,下,左). 平面上有N 个关键点,每当外星 ...

  6. JZOJ 5230. 【NOIP2017模拟A组模拟8.5】队伍统计

    Description 现在有n个人要排成一列,编号为1->n .但由于一些不明原因的关系,人与人之间可能存在一些矛盾关系,具体有m条矛盾关系(u,v),表示编号为u的人想要排在编号为v的人前面 ...

  7. JZOJ.5264【NOIP2017模拟8.12】化学

    Description Input Output Sample Input 3 10 1 2 10 Sample Output 5 Data Constraint Hint 搜索.考虑到m很大,我们不 ...

  8. JZOJ.5274【NOIP2017模拟8.14】数组

    Description Input Output Sample Input 输入样例1: 3 2 7 5 4 2输入样例2: 5 3 1 5 4 3 5 5 Sample Output 输出样例1: ...

  9. JZOJ.5236【NOIP2017模拟8.7】利普希茨

    Description Input 输入文件名为lipschitz.in. 第一行一个整数n. 接下来一行n个整数,描述序列A. 第三行一个数q . 接下来q行,每行三个整数.其中第一个整数type表 ...

  10. JZOJ.5331【NOIP2017模拟8.23】壕游戏

    Description Input Output Sample Input 6 8 2 2 4 5 1 2 4 0 2 1 3 5 0 2 3 4 1 5 1 2 5 1 0 1 4 6 4 2 2 ...

最新文章

  1. qq邮箱格式的Java代码_Java实现QQ邮件发送
  2. 问题:从键盘读取特定类型的数据(使用Scanner读取int类型)
  3. 《Python Cookbook 3rd》笔记(3.9):大型数组运算
  4. python中如何输入矩阵_python - 如何向矩阵中添加向量_numpy_酷徒编程知识库
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的课程教学辅助系统
  6. logrotate日志轮转
  7. [转载] 卷积神经网络做mnist数据集识别
  8. numpy与pandas基本使用
  9. VS2015 error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
  10. 【图论】图的深度优先遍历与广度优先遍历(图文讲解)
  11. php 发送图片,php+curl 发送图片处理代码分享
  12. 我的世界java怎么自制皮肤_我的世界皮肤制作教程
  13. 2021年认证杯SPSSPRO杯数学建模B题(第一阶段)依巴谷星表中的毕星团求解全过程文档及程序
  14. smartsvn 破解
  15. JAVA毕设项目教务排课系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
  16. PS如何做文字扫描效果(用于较清晰的扫描件)
  17. 分子生物学知识点归纳
  18. EXCEL【数据处理之数据清洗——缺失数据处理】
  19. 苹果MacBookPro六核i9芯32G存4TB硬SSD560X显15寸顶配51352元(公号回复“苹果AI”下载PDF资料)
  20. Android小程序-简易计算器的实现

热门文章

  1. 【VS2010学习笔记】【函数学习】一(MFC+OpenCV2.4.7读取摄像头之WM_TIMER消息处理函数的添加问题)
  2. 汇编语言数据段查找ASCII码并回显
  3. 基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码
  4. 【C++】内存4区---代码区、全局区、栈区、堆区
  5. Python 双y轴绘制
  6. 计算机应用基础本科答案排序,计算机应用基础本科操作题
  7. 四川大学计算机应用基础第二次作业,四川大学川成教2017年秋季《计算机应用基础》第二次作业...
  8. Flink on YARN(上):一张图轻松掌握基础架构与启动流程
  9. 如何在 Flink 1.9 中使用 Hive?
  10. 微信小程序开发--【Hello World 及代码结构】(二)