博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HNU 11720 God Created The Integers
阅读量:6122 次
发布时间:2019-06-21

本文共 769 字,大约阅读时间需要 2 分钟。

HNU_11720

    这个题目本来是一个数论课本的课后习题,最后可以得到结论sp=(p*p-1)/24-(p-1)/4(我暂时还没看懂怎么推导的……),这样就可以很容易的算出sp的值,于是就可以得到sp*rp=k*p+1,变形得sp*rp-p*k=1,又因为p是素数且可以证明gcd(sp,p)==1,所以这个方程必然有解,于是用拓展欧几里得求出rp即可。

#include
#include
long long int P; void gcd(long long int a, long long int b, long long int &x, long long int &y) {
if(b == 0) x = 1, y = 0; else {
gcd(b, a % b, y, x); y -= x * (a / b); } } void solve() {
int i, j, k; long long int x, y, ans = (P * P - 1) / 24 - (P - 1) / 4; gcd(ans, P, x, y); printf("%lld\n", (x % P + P) % P); } int main() {
int t, tt; scanf("%d", &t); for(tt = 0; tt < t; tt ++) {
scanf("%lld", &P); printf("Case #%d: ", tt + 1); solve(); } return 0; }

 

转载地址:http://acwua.baihongyu.com/

你可能感兴趣的文章
python实现牛顿法求解求解最小值(包括拟牛顿法)【最优化课程笔记】
查看>>
js中var、let、const的区别
查看>>
腾讯云加入LoRa联盟成为发起成员,加速推动物联网到智联网的进化
查看>>
从Python2到Python3:超百万行代码迁移实践
查看>>
Windows Server已可安装Docker,Azure开始支持Mesosphere
查看>>
简洁优雅地实现夜间模式
查看>>
react学习总结
查看>>
微软正式发布PowerShell Core 6.0
查看>>
Amazon发布新的会话管理器
查看>>
InfoQ趋势报告:DevOps 和云计算
查看>>
舍弃Python,为什么知乎选用Go重构推荐系统?
查看>>
在soapui上踩过的坑
查看>>
MySQL的字符集和字符编码笔记
查看>>
ntpd同步时间
查看>>
must implement java.io.Serializable hessian
查看>>
Microsoft Licenses Flash Lite for Windows Mobile Users
查看>>
HDOJ 2020 绝对值排序
查看>>
HDOJ/HDU 2560 Buildings(嗯~水题)
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>