POJ2115 C Looooops(扩展欧几里得)
来源:互联网 发布:cocos2d js protobuf 编辑:程序博客网 时间:2024/05/21 12:56
C Looooops
传送门
A Compiler Mystery: We are given a C-language style for loop of type
for (variable = A; variable != B; variable += C)
statement;
I.e., a loop which starts by setting variable to value A and while variable is not equal to B, repeats statement followed by increasing the variable by C. We want to know how many times does the statement get executed for particular values of A, B and C, assuming that all arithmetics is calculated in a k-bit unsigned integer type (with values
Input
The input consists of several instances. Each instance is described by a single line with four integers
The input is finished by a line containing four zeros.
Output
The output consists of several lines corresponding to the instances on the input. The i-th line contains either the number of executions of the statement in the i-th instance (a single integer number) or the word FOREVER if the loop does not terminate.
Sample Input
3 3 2 16
3 7 2 16
7 3 2 16
3 4 2 16
0 0 0 0
Sample Output
0
2
32766
FOREVER
题意
for(i=A;i!=B;i+=C){i%=(1<<k)};
问你循环执行几次,如果无限循环输出
分析
这里就是判断 我只是随便找一道exgcd的题写写...
CODE
#include<cstdio>typedef long long LL;LL Exgcd(LL a,LL b,LL &x,LL &y) { if(!b) {x=1;y=0;return a;} LL res=Exgcd(b,a%b,y,x); y-=x*(a/b); return res;}int main() { LL a,b,c,k,l,d,x,y; while(~scanf("%lld %lld %lld %lld",&a,&b,&c,&k)&&(a||b||c||k)) { l=1LL<<k; d=Exgcd(c,l,x,y); if((b-a)%d)puts("FOREVER"); else { x*=((b-a)/d)%l; LL r=l/d; printf("%lld\n",(x%r+r)%r); } } return 0;}
- POJ2115 C Looooops(扩展欧几里得算法)
- POJ2115:C Looooops(扩展欧几里得)
- POJ2115 C Looooops(扩展欧几里得)
- POJ2115 C Looooops(扩展欧几里得)
- poj2115 C Looooops(扩展欧几里得)
- C Looooops poj2115 (扩展欧几里得+模线性方程)
- poj2115--C Looooops(扩展gcd)
- POJ2115 C Looooops 推广的欧几里得算法
- C Looooops(扩展欧几里得)
- C Looooops(扩展欧几里得)
- POJ2115 C Looooops ——模线性方程(扩展gcd)
- C Looooops(欧几里德+poj2115)
- poj2115 C Looooops (欧几里德)
- [POJ2115]C Looooops(扩欧)
- poj-2115 C Looooops(扩展欧几里得)
- poj 2115 C Looooops (扩展欧几里得)
- POJ - 2115 - C Looooops (扩展欧几里得)
- POJ 2115 C Looooops(扩展欧几里得)
- DHCP服务器典型配置举例(路由应用)
- J
- 漫步最优化三十八——非二次函数最小化
- [2017.11.04]作业09(c)
- <学习html>第五天笔记-表格table(创建表格、表格属性、表头标签、表格结构、表格标题标签、合并单元格)
- POJ2115 C Looooops(扩展欧几里得)
- 向量,矩阵,张量求导
- K
- Hadoop跑HBase实例需注意的问题
- Java并发编程:并发容器之CopyOnWriteArrayList
- 51nod 1120 机器人走方格 V3 lucas+卡特兰+逆原 好题
- eclipse启动tomacat服务器失败,提示端口被占用解决方法
- C#基础---ref参数
- N