import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stk;
int A;
int B;
int V;
try {
stk = new StringTokenizer(br.readLine(), " ");
A = Integer.parseInt(stk.nextToken());
B = Integer.parseInt(stk.nextToken());
V = Integer.parseInt(stk.nextToken());
System.out.println(solution(A, B, V));
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
static int solution(int A, int B, int V) {
double d = A - B;
if(V - A == 0) {
return 1;
}
return (int)Math.ceil((V - A) / d) + 1;
}
}
input으로 100 99 1000000000이란 값을 넣을 때 solution의 d 자료형이 float라면 부정확한 값이 출력된다. 양수에서 단지 float 자료형으로 된 1을 나누는 것 뿐인데도 다른 값을 가져오는 것이다.
그 원인은 당연히 부동 소수점이 실수의 근사값을 표현하는 것에서 나올텐데, 정수일지라도 해당 오류가 발생한다는 점은 새롭게 안 사실이다.