站外题求助
  • 板块题目总版
  • 楼主_User114514_
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/12/20 20:37
  • 上次更新2024/12/21 08:33:23
查看原帖
站外题求助
1338740
_User114514_楼主2024/12/20 20:37

循环

题目描述

【】正在学习 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%50\% 的数据,0a,b,c1000≤a,b,c≤100

对于 100%100\% 的数据,109a,b,c109-10^9≤a,b,c≤10^9

2024/12/20 20:37
加载中...