POJ
来源:互联网 发布:编程思维 编辑:程序博客网 时间:2024/05/29 08:17
#include<cstdio>using namespace std;/*扩展欧几里德(A+C*x)%(2^k)=BCx%(2^k)=B-A;Cx=(B-A)+(2^k)*y;Cx+(2^k)y=B-A*/typedef long long LL;void gcd(LL a,LL b,LL &d,LL &x, LL &y){ if(!b) {d=a;x=1;y=0;} else{gcd(b,a%b,d,y,x);y-=x*(a/b);}}int main(){ LL A,B,C,k; while(scanf("%lld %lld %lld %lld",&A,&B,&C,&k)) { if(!A&&!B&&!C&&!k) break; LL d,x,y; LL a=C; LL b=1LL<<k; LL c=B-A; gcd(a,b,d,x,y); if(c%d!=0) { printf("FOREVER\n"); } else { b/=d;//d为gcd c/=d; x=(x*c%b+b)%b;//注意取模 printf("%lld\n",x); } } return 0;}
阅读全文
0 0
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- 第八章 表格单元格选取以及UIAlertController(一)
- OpenGL的第一天【VS2017+OpenGL环境的配置】
- 多态的技能点(前提条件、向上转型、向下转型)
- Effective C++笔记(9)—模板与泛型编程(一)
- js逻辑运算符
- POJ
- L1-048. 矩阵A乘以B
- HDU-1166敌兵布阵(线段树,树状数组)
- 通过内容提供器获取手机联系人信息
- 聚合工程模块配置需要
- hdu 6035 Colorful Tree
- QTableWidget中实现表格的自动换行
- static和final用法
- CodeForces-300A Array