2458 大家来学for循环
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 : 131072/65536 KB(Java/Others)
提交数 : 1199 | 通过数 : 204
题目描述
算法的学习其实不应该仅限于信息学院的学生,物理化学、天文地理、生物社会、人文哲学……无不使用着算法,也同时创造着算法。 所以大家如果有朋友在外学院的话也可以大力推荐他们来参加明年的校赛,毕竟学会打印“hello world!”只要几分钟的时间,然后再学些for循环、if语句什么的就可以开始搞搞算法做做水题了。
既然说到了for循环,那么在此就简单介绍一下:
for循环的一般结构是这样的:for(A;B;C)D;
A部分的语句只会在for循环开始前执行一次;
B部分的表达式会在D执行前判断一次,如果为真则继续执行,否则跳出循环;
C部分的语句在每次D执行完毕后执行一次。
简单来说,所有语句的执行次序如下:A->B->D->C->B->D->C->B……D->C->B
现在有一个for循环语句,其中:
A部分是:i=x;
B部分是:i<y或者i>y;
C部分是:i-=z或者i+=z;
D部分是:printf("hello world!\n");
告诉你x,y,z的值以及B,C部分中的运算符号,请输出一共打印了几次"hello world!"。
输入要求
五个整数x,y,z,B,C。
0<=x,y,z<=1000
B=0表示B部分中是i<y,B=1表示B部分中是i>y;
C=0表示C部分中是i-=z,C=1表示C部分中是i+=z;
输出要求
如果陷入了死循环则输出-1,否则输出一个整数,表示打印了多少个"hello world!"。
输入样例
0 10 1 0 1
输出样例
10
提示
来源
信息学院第五届程序设计大赛