1793: 有趣的球
Submit: 29 Solved: 15
Submit Status Web Board
Description
sky_fire有一个机器,这个机器每次开启的瞬间会弹出一个小球,之后每隔w秒会弹出一个小球。因为机器不是很完善,该机器每开启x秒就得关y秒进行调整,在机器关闭的瞬间可以有小球弹出,关闭之后一直到下一次开启之前都不会有小球弹出,也不会生成球。
0时刻,机器第一次开启,sky_fire想要知道第n个小球弹出的时刻,你能够告诉他吗?
Input
包含多组测试数据(最多一百组)。每组测试数据包含四个由空格隔开的整数x、y、w和n,其含义如题中所示。 1 ≤ x, y, w, n ≤ 100
Output
对应每组输入,输出一个整数,即第n个小球弹出的时刻。每个输出占一行。
Sample Input
2 3 3 3
98 76 54 32
10 9 8 100
Sample Output
10
2664
939
看上去很复杂,想想就很简单,工大的题出的很好啊,很适合新生,代码如下:
#include<cstdio>
int main()
{
int x,y,w,n,t,ans,cnt;
while(scanf("%d%d%d%d",&x,&y,&w,&n)!=EOF)
{
t=x/w+1;
if(n%t==0)
cnt=t;
else
cnt=n%t;
ans=(x+y)*(n-cnt)/t;
ans+=(cnt-1)*w;
printf("%d\n",ans);
}
return 0;
}