SPOJ3713——Primitive Root
终于有一个SPOJ题目是我自己独立做出来的,ORZ,太感动了。
题目意思是给你一个素数,问你一个数r是否满足,r,r^2,r^3,……,r^p-1,全不相同。
以前做过这种类型的题目额。是这样的。
根据欧拉定理我们知道,对于任意一个x<p,我们都有 x^(p-1)==1(mod p),这样我们只要判断x是否对于p-1的所有因数y是否都不满足 x^y!=1,如果存在等于1的情况,那说明就是NO咯。
上代码:
#include <cstdio>
#define ll long long
using namespace std; ll power(ll a,ll b,ll p)
{
ll ans=;
while (b)
{
if (b&) ans=(ans*a)%p;
b>>=;
a=(a*a)%p;
}
return ans;
} bool check(ll x,ll p)
{
for (ll i= ;i*i<p; i++)
{
if ((p-)%i!=) continue;
if (power(x,i,p)==) return false;
if (power(x,(p-)/i,p)==) return false;
}
return true;
} int main()
{
ll n,p,x;
while (scanf("%lld%lld",&p,&n) && (n|p))
{
while (n--)
{
scanf("%lld",&x);
x%=p;
if (x==)
{
printf("NO\n");
continue;
}
if (check(x,p)) printf("YES\n");
else printf("NO\n");
}
}
return ;
}
SPOJ3713——Primitive Root的更多相关文章
- 关于原根的存在性及个数(Primitive Root Theorem)
我在RSA学习总结的第三部分关于Mille-Rabin素数测试的正确性证明里需要用到此定理,由于证明太长,故另开一章于此.(为啥我说话突然文绉绉了Orz,可能是这周辩论打多了) 结论是对素数p,mod ...
- 原根的存在性及个数证明(Primitive Root Theorem)
我在RSA学习总结的第三部分关于Mille-Rabin素数测试的正确性证明里需要用到此定理,由于证明太长,故另开一章于此.(为啥我说话突然文绉绉了Orz,可能是这周辩论打多了) 结论是对素数p,mod ...
- 【HDU 4992】 Primitive Roots (原根)
Primitive Roots Description We say that integer x, 0 < x < n, is a primitive root modulo n i ...
- POJ 1284:Primitive Roots(素数原根的个数)
Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5709 Accepted: 3261 Descr ...
- POJ 1284 Primitive Roots 数论原根。
Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2479 Accepted: 1385 D ...
- poj 1284 Primitive Roots (原根)
Primitive Roots http://poj.org/problem?id=1284 Time Limit: 1000MS Memory Limit: 10000K Descr ...
- poj1284 Primitive Roots
Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4775 Accepted: 2827 D ...
- POJ1284 Primitive Roots [欧拉函数,原根]
题目传送门 Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5434 Accepted: ...
- poj 1284 Primitive Roots(未完)
Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3155 Accepted: 1817 D ...
随机推荐
- 20155315 实验一《Java开发环境的熟悉》实验报告
实验一 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序. 实验要求 1.没有Linux基 ...
- WPF之路-键盘与鼠标事件 - 简书
原文:WPF之路-键盘与鼠标事件 - 简书 键盘事件 事件类型分为以下几个类型 生命周期事件:在元素加载与卸载的时候发生 鼠标事件:鼠标动作 键盘事件:键盘动作 手写笔事件:适用于win7以上的系统 ...
- WPF ControllTemplate Triggers小记 - 简书
原文:WPF ControllTemplate Triggers小记 - 简书 WPF中,样式模板中如果定义EventTrigger事件方式实现动画.那么需要注意两点: 1.对于绑定的属性的Event ...
- resultMap中的collection集合出现只能读取一条数据的解决方法
查询数据时只能获得collection集合中的的一条数据,相关情况如下: 结果集resultMap: <resultMap id="ManagerRolesAcls" typ ...
- UTC时间转为正常日期
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);SimpleDa ...
- 试用一下markdown
1 2 3 4 5 6 Blog
- node升级7.0以上版本使用gulp时报错
今天使用gulp时 ,出现了以下报错信息: Error: Cannot find module 'internal/fs'at Object.<anonymous> (/home/XXX/ ...
- Pycharm主菜单学习
“工欲善其事,必先利其器”,这话我一直是这么坚信的! 找到一款顺手称心的工具,拥有它,熟练地使用它! Pycharm据说就是使用Python的一款最好的工具—— 于是,开始了第一步的学习----先从熟 ...
- PHPCMS的产品筛选功能
如下图所示功能: 首先,用下面这些代码替换掉phpcms/libs/functions/extention.func.php的内容 <?php /** * extention.func.php ...
- Python数据挖掘——数据概述
Python数据挖掘——数据概述 数据集由数据对象组成: 数据的基本统计描述 中心趋势度量 均值 中位数 众数 中列数 数据集的最大值和最小值的平均 度量数据分布 极差 最大值与最小值的差 四分位数 ...