http://poj.org/problem?id=2115

k位储存特点,一旦溢出,那么就到第二个循环开始返回0重新计数。问题实际转化成a+cx=b(mod 2^k)跑多少圈能够重合。因为是k位无符号,所以直接就是2^k次方,0~2^k-1。刚好覆盖模的范围

 1 #include<iostream>
2 #include<cstdio>
3 #include<math.h>
4 #include<algorithm>
5 using namespace std;
6 typedef unsigned long long ll;
7 ll ex_gcd(ll a, ll b, ll &x,ll &y)
8 {
9 if(!b){x=1,y=0;return a;}
10 ll d=ex_gcd(b,a%b,x,y);
11 ll tmp=x;
12 x=y,y=tmp-a/b*y;
13 return d;
14 }
15 int main()
16 {
17 ll a,b,c,k,x,y;
18 while(~scanf("%llu%llu%llu%llu",&a,&b,&c,&k),(a+b+c+k))
19 {
20 ll tmp=c;//k位无符号
21 c=b-a;a=tmp;b=(ll)1<<k;
22 ll d=ex_gcd(a,b,x,y);
23 ll t=b/d;
24 if(c%d!=0) cout<<"FOREVER\n";
25 else
26 {
27 x=(x*c/d%t+t)%t;
28 cout<<x<<'\n';
29 }
30 }
31 return 0;
32 }

POJ2115C Looooops的更多相关文章

  1. poj2115-C Looooops(扩展欧几里德算法)

    本题和poj1061青蛙问题同属一类,都运用到扩展欧几里德算法,可以参考poj1061,解题思路步骤基本都一样.一,题意: 对于for(i=A ; i!=B ;i+=C)循环语句,问在k位存储系统中循 ...

  2. poj2115-C Looooops -线性同余方程

    线性同余方程的模板题.和青蛙的约会一样. #include <cstdio> #include <cstring> #define LL long long using nam ...

  3. POJ1061:青蛙的约会+POJ2115C Looooops+UVA10673Play with Floor and Ceil(扩展欧几里得)

    http://poj.org/problem?id=1061 第一遍的写法: #include <iostream> #include <stdio.h> #include & ...

  4. POJ-2115-C Looooops(线性同余方程)

    链接: https://vjudge.net/problem/POJ-2115 题意: A Compiler Mystery: We are given a C-language style for ...

  5. POJ2115 C Looooops[扩展欧几里得]

    C Looooops Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 24355   Accepted: 6788 Descr ...

  6. POJ 2115 C Looooops

    扩展GCD...一定要(1L<<k),不然k=31是会出错的 ....                        C Looooops Time Limit: 1000MS   Mem ...

  7. poj 2115 Looooops

    C Looooops Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 23637   Accepted: 6528 Descr ...

  8. C Looooops(扩展欧几里得)

    C Looooops Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20128 Accepted: 5405 Descripti ...

  9. POJ2115——C Looooops(扩展欧几里德+求解模线性方程)

    C Looooops DescriptionA Compiler Mystery: We are given a C-language style for loop of type for (vari ...

随机推荐

  1. 关于Mysql java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)的问题

    问题所在: 1.连接数据库一个是密码是否正确, 2.driver是否对, 3.有么有jar包冲突,

  2. 为什么要用urlencode()函数进行url编码

    URLEncode就是将URL中特殊部分进行编码.URLDecoder就是对特殊部分进行解码. 因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的 譬如:你要传的 ...

  3. DIgSILENT PowerFactory 15.1.7 破解过程

    将dll文件复制到安装路径下:

  4. greeting-150

    拿到程序例行检查,可以看出程序是32位的程序 将程序放入ida中进入主函数查看 但是我们将程序运行一次后发现程序还运行了nao的程序 说明程序在中间还引用了nao函数,通过代码审计我们可以很直接的看到 ...

  5. 听听文档(视频)-Power Pivot

    打开微信扫描二维码

  6. IE上的兼容性调整问题烦死啦

    IE上的兼容性调整问题烦死啦 好像还得把此代码放到第一行才起作用.

  7. JAVA中CountDownLatch的简单示例

    public static void main(String[] args) throws InterruptedException { CountDownLatch latch =new Count ...

  8. 【九度OJ】题目1183:守形数 解题报告

    [九度OJ]题目1183:守形数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1183 题目描述: 守形数是这样一种整数, ...

  9. 【LeetCode】764. Largest Plus Sign 解题报告(Python)

    [LeetCode]764. Largest Plus Sign 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn ...

  10. 【LeetCode】508. Most Frequent Subtree Sum 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...