POJ 2115 C Looooops 拓展欧几里得
来源:互联网 发布:cmmb电视模块软件 编辑:程序博客网 时间:2024/06/06 17:55
大概意思是有一个C/C++的循环语句
for(i=a;i!=b;i=i+c)然后这个i是个最大为2^k的数
也就是说如果i>=2^k就会减少2^k
求这个循环语句循环多少次会跳出 如果不能就输出FOREVER
显然可以转化成 b与a+cx同余2^k相等的最小正整数的解
代码:
#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;typedef long long LL;LL exgcd(LL &x,LL &y,LL a,LL b){if(b==0){x=1;y=0;return a;}LL d=exgcd(x,y,b,a%b);LL px=x;x=y;y=px-a/b*y;return d;}LL A,B,C,k;int main(){while(scanf("%lld%lld%lld%lld",&A,&B,&C,&k)==4){if(!A&&!B&&!C&&!k)break;LL a,b,c,d,x,y;a=C;b=1ll<<k;c=B-A;d=exgcd(x,y,a,b);if(c%d!=0)puts("FOREVER");else{x=x*(c/d);x=((x%(b/d))+(b/d))%(b/d);printf("%lld\n",x);}}return 0;}
0 0
- POJ - 2115 C Looooops(拓展欧几里得)
- POJ 2115 C Looooops 拓展欧几里得
- POJ 2115 C Looooops(拓展欧几里得)
- poj C Looooops 2115 (拓展欧几里得+数学)
- POJ 2115 C Looooops——拓展欧几里得算法
- POJ 2115 C Looooops (拓展的欧几里得) 拓展的欧几里得详解
- poj C Looooops 类似青蛙的约会,拓展欧几里得算法
- 20140714 「初等数论 - 拓展欧几里得+同余模方程」POJ 2115 C Looooops
- POJ 2115 C Looooops(扩展欧几里得)
- poj 2115 C Looooops(扩展欧几里得)
- poj-2115 C Looooops(扩展欧几里得)
- poj 2115 C Looooops (扩展欧几里得)
- POJ 2115 C Looooops 扩展欧几里得算法
- poj 2115 C Looooops【数论】【欧几里得算法】
- poj 2115 C Looooops 扩展欧几里得
- POJ - 2115 - C Looooops (扩展欧几里得)
- POJ 2115 C Looooops(扩展欧几里得)
- POJ 2115 C Looooops(扩展欧几里得)
- pyschool_Lowest Common Multiple_t5_q13(最大公约数)
- DFU 中断不进入app的问题
- Spring的Quartz
- 电子商务秒杀所带来的问题?
- ORACLE AWR报告分析
- POJ 2115 C Looooops 拓展欧几里得
- iOS 对于下载请求超时重新下载的方法
- golang(Go语言) byte/[]byte 与 二进制形式字符串 互转
- ThreadLocal 线程局部变量
- iOS oc-NSString swift-String format
- 从HDFS复制一个文件夹到HDFS
- 企业协作开发借助工具提高效率
- Day44、钻石继承、虚继承、多态(概念!)、虚函数覆盖、纯虚函数、抽象类、纯抽象类、动态绑定、虚析构函数、typeid运算符、动态类型转换
- 添加组件与修改组件