A. Grandma’s Footsteps
https://atcoder.jp/contests/abc428/tasks/abc428_a
毎秒Sメートルの速さでA秒間走り、その後B秒間は静止するので、X秒間では、まず、S×Aメートル進み、B秒間は0メートル進むと考えればいいので、何メートル進むか答えるための変数をansとすると、まずA回ansにSを足していきXから1づつ引いていく。その後、XからBを引き、またA回ansにSを足していくといった感じでコードを作り、Xが0以下になったら停止するようなプログラムを書けばいいと思った。
#include <bits/stdc++.h>
using namespace std;
int main(){
int s, a, b, x, ans = 0;
int time;
cin >> s >> a >> b >> x;
while(1){
time = a;
while(time){
ans += s;
time--;
x--;
if(x <= 0){
cout << ans << endl;
return 0;
}
}
x -= b;
if(x <= 0){
cout << ans << endl;
return 0;
}
}
}
Code language: C++ (cpp)