博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2115 C Looooops(exgcd)
阅读量:5325 次
发布时间:2019-06-14

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

嗯...

 

题目链接:http://poj.org/problem?id=2115

 

(A+s*C)%2^k=B
(A+s*C)≡B(mod 2^k)
s*C-m*2^k=B-A
ax+by=c
有一个问题,b没必要是负的,反正正负a和b的线性组合集都一样,况且此题不需要y
 
 
AC代码:
1 #include
2 #include
3 4 using namespace std; 5 6 inline void exgcd(long long a, long long b, long long &g, long long &x, long long &y){ 7 if(!b) { g = a; x = 1; y = 0;} 8 else { exgcd(b, a % b, g, y, x); y -= x * (a / b);} 9 }10 11 int main(){12 long long a, b, c, A, B, C, k, g, x, y;13 while(~scanf("%lld%lld%lld%lld", &A, &B, &C, &k)){14 if(!A && !B && !C && !k) break;15 a = C; b = 1ll << k; c = B - A;16 exgcd(a, b, g, x, y);17 if(c % g) printf("FOREVER\n");18 else{19 c /= g; b /= g;20 printf("%lld\n", (x % b * c % b + b) % b);21 }22 }23 return 0;24 }
AC代码

 

转载于:https://www.cnblogs.com/New-ljx/p/11515341.html

你可能感兴趣的文章
AngularJS学习篇(十三)
查看>>
Tableau 学习资料
查看>>
中断和异常
查看>>
lucene 全文检索工具的介绍
查看>>
C# MD5-16位加密实例,32位加密实例
查看>>
无线点餐系统初步构思
查看>>
AJAX
查看>>
前端之CSS
查看>>
List注意点【修改】
查看>>
sqoop导入导出对mysql再带数据库test能跑通用户自己建立的数据库则不行
查看>>
拓扑排序的原理及其实现
查看>>
对StageWebView捕获位图时空白
查看>>
Provison Profile管理及存放路径
查看>>
shop--8.店铺列表展示--前端开发
查看>>
转:Can not issue data manipulation statements with executeQuery()错误解决
查看>>
详解C#委托,事件与回调函数(转)
查看>>
744. Find Smallest Letter Greater Than Target
查看>>
Android 发展思路
查看>>
Sharepoint 自定义字段
查看>>
MySQL 触发器简单实例
查看>>