题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3589;

题意:就是一个裸的雅可比符号:

具体参考:百度百科  百度百科

代码如下:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
using namespace std;
int a[10];
int fac[100500],sum[100500];
int cnt;
void fen(int x){for(int i=2;i*i<=x;i++){if(x%i==0){fac[cnt]=i;while(x%i==0){x/=i;sum[cnt]++;}cnt++;}}if(x>0)fac[cnt]=x,sum[cnt++]++;
}
long long quick_mod(int a,int b,int p){long long ans=1;while(b){if(b&1)ans=ans*a%p;b>>=1;a=a*a%p;}return ans;
}
int main(){int a,n;while(scanf("%d%d",&a,&n)!=EOF){memset(sum,0,sizeof(sum));cnt=0;fen(n);int ans=1;for(int i=0;i<cnt;i++){int tmp=(int)quick_mod(a,(fac[i]-1)/2,fac[i]);if(tmp>1)tmp=-1;if(tmp==-1&&sum[i]%2==0)tmp=1;ans*=tmp;}cout<<ans<<endl;}return 0;
}

hdu 3589(二次剩余+雅可比符号)相关推荐

  1. hdu 3589 Jacobi symbol (二次剩余勒让德符号)

    题目链接 题意:交代一下勒让德符号与二次剩余,然后告诉你J(a,n)与L的关系,给定a,n,求J(a,n). 二次剩余的原理我并没有搞太懂= =,想着毕竟不常见,会用板子就好了.在知道如何求勒让德符号 ...

  2. 大三上期末复习(网络安全物联网概论安全协议软件工程)

    网络安全 零. 试题解析 1.分数分配 删去.... 2.IP分类复习 根据上图,我们可以推出下面的表 再筛选掉特殊的地址,就有如下的范围 P地址根据网络号和主机号来分,分为A.B.C三类及特殊地址D ...

  3. 初等数论--二次剩余与二次同余方程--勒让德符号Legendre,高斯引理,雅可比符号Jacobi symbol

    初等数论--二次剩余与二次同余方程--勒让德符号Legendre,高斯引理,雅可比符号Jacobi symbol 勒让德符号Legendre 高斯引理 雅可比符号Jacobi symbol 博主是初学 ...

  4. HDU 6755 Fibonacci Sum(二次剩余 + 二项式展开)

    Fibonacci Sum 斐波那契通项有an=15((1+52)n−(1−52)n)(15)k∑i=0n((1+52)ic−(1−52)ic)kA=1+52,B=1−52(15)k∑i=0n∑j=0 ...

  5. hdu 3930 Broot 二次剩余

    模素数p的原根g的优美体现在每个模p的非零数以g的幂次出现.所以,对任何数1 <= a < p,我们可选择幂 g,g^2,g^2,```````,g^(p-2),g^(p-1) 中恰好一个 ...

  6. ECC与数论、数论史、代数,二次剩余符号的程序计算,高次剩余,高斯和 2013-03-23 21:52:49

    CoCoA 2015-10-9 22:49 Computational Commutative Algebra http://vdisk.weibo.com/s/Fst8dC2oag9yO?categ ...

  7. 信息安全数学基础 Chapter 4——二次剩余与方根

    定义4.1 设m为正整数,若同余式x2≡a(modm),(a,m)=1x^2\equiv a(\mod m),(a,m)=1x2≡a(modm),(a,m)=1,有解,则a称为模m的二次剩余,否则称为 ...

  8. 两个基于二次剩余的公钥加密算法

    两个基于二次剩余的公钥加密算法 两个基于二次剩余的公钥加密算法 Rabin加密算法 GM加密算法 两个基于二次剩余的公钥加密算法 二次剩余问题:在不知道n的分解情况下,一般性地判断一个整数a是否为模n ...

  9. HDU——1106排序(istringstream的使用、STLvector练习)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

最新文章

  1. UITextField 详解
  2. linux mv命令批量,linux 如何用mv命令批量更改文件名?
  3. 如何处理Maven build错误 Non-Resolvable parent POM
  4. 【转】The underlying connection was closed
  5. mysql索引使增删变慢_mysql优化(四)–索引
  6. nRF51822 硬件复位引脚
  7. php 查询数据排序,php如何对查询结果集进行排序
  8. 七夕表白攻略:教你用自己的专业说情话,成功率100%,我只能帮你们到这里了啊~(程序员系列)
  9. 随机计算(3)——Stochastic Circuit Synthesis by Cube Assignment
  10. IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法
  11. 电脑没声音,喇叭上一个叉,显示无法找到输入输出设备(录制,耳机等等)
  12. Unity学习笔记(二) 碰撞检测与触发检测
  13. c语言流控制(20180710)
  14. JQuery Smart UI 简介(六) — 框架设计【后篇】(数据接口、后台框架)[简介系列完结]...
  15. 2019腾讯实习笔试题部分记录+两次电话面试笔记
  16. 程序员需知的 59 个网站
  17. antdesign——layout
  18. 变电站巡检机器人工作中有哪些常见问题?该如何解决
  19. ILSVRC2016目标检测任务回顾——视频目标检测(VID)
  20. 美国可以实现几乎对全球无死角的监控,这是可能的吗?

热门文章

  1. qt介绍03——Q_PROPERTY
  2. git flow使用
  3. 《Linux系统调用:sleep,nanosleep》
  4. 预约挂号系统day-01
  5. 520都准备好了吗?送大家一些金句,进来看看吧!
  6. 【51nod】3145 扔球游戏
  7. 滴滴发布全球首款定制网约车D1 ——汽车迎来新物种,共享出行进入新阶段
  8. 什么是虚假唤醒?为什么会产生虚假唤醒?
  9. memmove的实现
  10. void指针作为函数形参的用法