BZOJ 1406: [AHOI2007]密码箱 数论
Description
在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示。经过艰苦的破译,小可可发现,这些图标表示一个数以及这个数与密码的关系。假设这个数是n,密码为x,那么可以得到如下表述: 密码x大于等于0,且小于n,而x的平方除以n,得到的余数为1。 小可可知道满足上述条件的x可能不止一个,所以一定要把所有满足条件的x计算出来,密码肯定就在其中。计算的过程是很艰苦的,你能否编写一个程序来帮助小可可呢?(题中x,n均为正整数)
Input
输入文件只有一行,且只有一个数字n(1<=n<=2,000,000,000)。
Output
你的程序需要找到所有满足前面所描述条件的x,如果不存在这样的x,你的程序只需输出一行“None”(引号不输出),否则请按照从小到大的顺序输出这些x,每行一个数。
Sample Input
12
Sample Output
1
5
7
11
化简一下式子。
(x+1)(x-1)=k*n
x+1=k1n1 x-1=k2n2 k1k2=k n1n2=n
那么我们枚举n的大于根号n的因子n1,然后枚举一个k1,之后把k1n1分别作为x+1和x-1来求解,看一看求出的另一个
是否是n/n1的倍数,注意用set去重。
//BZOJ 1406#include <bits/stdc++.h>
using namespace std;set <long long> s;
long long n;int main(){scanf("%lld", &n);if(n==1){printf("None\n");return 0;}s.insert(1);for(int i = 1; i*i <= n; i++){if(n%i==0){long long b = n/i;for(long long i = b; i<=n; i+=b){if((i+2)*i%n==0) s.insert(i+1);if((i-2)*i%n==0) s.insert(i-1);}}}set <long long>::iterator it;for(it = s.begin(); it!=s.end(); it++){if(*it>n) continue;printf("%lld\n", *it);}
}
BZOJ 1406: [AHOI2007]密码箱 数论相关推荐
- bzoj 1406: [AHOI2007]密码箱
1406: [AHOI2007]密码箱 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1629 Solved: 967 [Submit][Status ...
- BZOJ1406: [AHOI2007]密码箱 数论
Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示.经过艰苦的破译,小可可 ...
- BZOJ 1406 密码箱(数论)
很简洁的题目.求出x^2%n=1的所有x<=n的值. n<=2e9. 直接枚举x一定是超时的. 看看能不能化成有性质的式子. 有 (x+1)(x-1)%n==0,设n=a*b,那么一定有x ...
- 【刷题】BZOJ 4176 Lucas的数论
Description 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目"求Sigma(f(i)),其中1<=i< ...
- BZOJ 2277 Poi2011 Strongbox 数论
题目大意:给定n和k个整数,求mod n加法下的群G的一个子群G',满足a[1]~a[k-1]都不在群中而a[k]在群中 首先易证G'一定是一个循环群 证明:显然若a在群中则a的逆元在群中 那么我们就 ...
- 2019.5.summary
2019.5.1 CF C. Prefix Sum Primes 感觉CF就是训练妳如何养成对题目强大的YY能力的QAQ 我们构造 如果只有一种,没辙,只能这样放 否则先放一个2,再放一个1 接下来把 ...
- 算法笔记——数学相关
算法笔记--数学相关 高精度 乘法逆元 排列组合 二项式定理 质数的判定和应用 约数 拓展欧几里得 大步小步算法(BSGS) 拓展大步小步算法 快速乘和快速幂 矩阵相关 欧拉函数 欧拉定理及费马小定理 ...
- 浅谈积性函数求前缀和
转载至https://blog.csdn.net/skywalkert/article/details/50500009 前置技能 积性函数的定义 若f(n)f(n)的定义域为正整数域,值域为复数,即 ...
- ACM里的生成函数初探
生成函数 前情提要:由于本人不太喜欢写博客(懒),所以写的时候一般是由于某些原因写的专题内容.这次是2020CCPC长春热身赛的D题没做出来. 大佬论文放前面:推荐阅读:毛杰明 母函数的性质及应用 基 ...
- 知识点 - 数论函数导论
知识点 - 数论进阶 abstract:整除分块,积性函数,线性筛,莫比乌斯反演,迪利克雷卷积,积性函数前缀和,杜教筛,阁洲筛,min_25筛 0.引入 Gym - 101485D debugging ...
最新文章
- android button背景随心搭配
- [BZOJ 2425] 计数
- linux 安装windows字库,Linux安装windows字体
- 男性早孕-从软件与程序的区别说起
- 男人“杀”死女人的30句话
- 【图像处理】MATLAB:表示与描述
- Qt编程之QtScript
- 数据库系统概论(第5版)学习笔记第1章 1.1——数据库系统概论
- selenium系列--测试脚本--将Excel文件用于测试(unittest数据驱动实战)
- java struts2教程_Struts2学习教程之入门小白的开始基础
- 前端之路--第三周学习
- JS中经纬度的正则表达式(亲测有效)
- c语言面向对象:队列 (先进先出,后进先出)
- aloha仿真matlab,ALOHA协议的MATLAB仿真开题报告(参考).doc
- python画k线_python画k线,python绘制动态k线及均线
- 专著《Python与开源GIS:数据处理、空间分析》
- JS的onBlur事件与onfocus事件
- EBGP环回口邻居建立不了的原因
- PowerBI-时间智能函数-PREVIOUS系列
- html文字加描边效果,怎么用css给文字加描边?