循环
题目描述
【】正在学习 S 语言程序设计,今天他学到了循环语句。
S 语言中的循环语句和 C/C++ 风格类似,为以下格式:
for (i = a; i op b; i += c);
在上述语句中,a、b、c 是整数,op 是关系运算符,可能是 <= ,>= 或者 !=,分别代表小于等于,大于等于、不等于。
循环的执行过程和 C 语言类似:
1、首先执行赋值语句 i=a
2、计算布尔表达式 i op b 的值,如果为假跳到步骤 4,否则继续步骤 3
3、执行赋值语句 i+=c, 既 i=i+c,然后跳到步骤 2
4、循环结束
需要注意的是,循环变量 i 的类型是 S 语言中的整型数,它的取值范围可以很大,不会像 C 语言中的 int 一样存在溢出
【】希望计算出步骤 3(i+=c)会执行多少次。
输入格式
输入仅一行四个整数 a、op、b、c
其中 op=1 代表 <=,op=2 代表 >=,op=3 代表 !=
输出格式
输出一行一个整数,代表步骤 3 执行的次数,如果循环永远不会终止(死循环)则输出 -1。
样例 #1
样例输入 #1
0 1 100 2
样例输出 #1
51
样例 #2
样例输入 #2
100 3 0 3
样例输出 #2
-1
提示
对于 50% 的数据,0≤a,b,c≤100
对于 100% 的数据,−109≤a,b,c≤109