题目描述
原题来自:CTU Open 2004
对于 C 语言的
for (variable = A; variable != B; variable += C) statement;
循环语句,问在
k
k 位存储系统中循环几次才会结束。若在有限次内结束,则输出循环次数。否则输出死循环。
输入
多组数据,每组数据一行四个整数
A, B, C, k
A,B,C,k。
k
k 表示
k
k 位存储系统。
读入以 0 0 0 0 结束。
输出
若在有限次内结束,则输出循环次数。否则输出 FOREVER。
样例输入
3 3 2 16
3 7 2 16
7 3 2 16
3 4 2 16
0 0 0 0
样例输出
0
2
32766
FOREVER
提示
数据范围与提示
对于全部数据,
1\le k\le 32,0\le A,B,C\lt 2^k
1≤k≤32,0≤A,B,C<2k。
来源/分类
ybttg 扩展欧几里德算法