BZOJ 1406 密码箱
2016-06-13 17:29
381 查看
http://www.lydsy.com/JudgeOnline/problem.php?id=1406
题意:给定n,求x^2==1%n
x^2-1=k*n
(x+1)*(x-1)==k*n
(x+1)(x-1)%n=0
n=a*b
则有(x+1)|a且(x-1)|b 或 (x-1)|a且(x+1)|b
题意:给定n,求x^2==1%n
x^2-1=k*n
(x+1)*(x-1)==k*n
(x+1)(x-1)%n=0
n=a*b
则有(x+1)|a且(x-1)|b 或 (x-1)|a且(x+1)|b
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<string> #include<algorithm> #include<set> #define ll long long using namespace std; int n; set<int> ans; int main(){ scanf("%d",&n); int len=(int)sqrt(n); ans.insert(1); for (int i=1;i<=len;i++) if (n%i==0){ int a=n/i,b=i,x; for (x=a+1;x<=n;x+=a) if ((x+1)%b==0) ans.insert(x); for (x=a-1;x<=n;x+=a) if ((x-1)%b==0) ans.insert(x); } for (set<int>::iterator i=ans.begin();i!=ans.end();i++) printf("%d\n",*i); }
相关文章推荐
- 途牛原创|途牛无线权限系统的架构设计与实践
- id, pid 递归tree oracle ,DB2 sql
- git忽略而不提交文件的3种情形
- 测试
- Android中base64加密后的字符串带有“\n”导致出错的问题解决
- 关于记录日志
- java的一些知识(五)
- Mac OS上安装PostgreSQL的教程
- C++类与内存分配
- Keil-原文件类型不明确导致编译出错的解决方法
- Resources$NotFoundException问题解决(String resource)
- Cubietruck---2. fastboot的烧写
- 代码大全读书笔记1---进入软件构建的世界
- 串口参数
- 二维数组的深度解剖
- reagentc /info 操作失败3 系统找不到指定路径
- Android系统apps之Setting选项的隐藏(基于android4.2.2)
- EditText 在设置为输入密码的时候 密码是否可见 光标在最后显示
- Android 使用LruCache和DiskLruCache建立图片加载库
- ubuntu12.04简单安装Nginx