求助
  • 板块学术版
  • 楼主Jasonsheng
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/7/13 14:17
  • 上次更新2023/11/4 14:55:55
查看原帖
求助
95537
Jasonsheng楼主2021/7/13 14:17

题目描述 有一段C++代码如下:

i = a;

while (i != b)

i += c;

代码的语义是一个循环变量 i开始于 a,当且仅当它等于 b时退出循环,每次循环完成时 i 会增加 c。

规定所有变量在内存中都是用 k 位无符号二进制表示的,加法溢出后效果相当于取 2^k的模。请模拟这段程序,统计执行了多少次循环?

输入格式 四个整数:a,b,c 和 k。

输出格式 如果循环可以结束,输出循环次数; 否则输出 Inf。

k<=60 a,b,c< 2^k

样例: 3 3 2 16

输出: 0

样例: 3 7 2 16

输出: 2

样例: 7 3 2 16

输出: 32766

样例: 4 3 2 16

输出: Inf

2021/7/13 14:17
加载中...