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<stdio.h>
int main()
{
int x,y,w,n;
int n1,a;
while(~scanf("%d%d%d%d",&x,&y,&w,&n))
{
int t=0;
n1=x/w+1;
if(n%n1==0)
a=n1;
else
a=n%n1;
t=(x+y)*(n-a)/n1;
t+=w*(a-1);
printf("%d\n",t);
}
return 0;
}