Problem Statement

Due to historical reasons people measure temperature in different scales, such as Fahrenheit and Celsius. Your task is to convert a temperature from one scale to another. It is known that both scales are linear with respect to each other (i.e., there are real numbers a and b such that temperature t presented in the first scale can be converted to the second by the law t'=a*t+b).

You are given 5 ints: f1, the freezing point of water in the first scale; b1, the boiling point of water in the first scale; f2, the freezing point of water in the second scale; b2, the boiling point of water in the second scale; and t, the temperature in the first scale. Return t converted into the second scale.

Definition

 Class: TemperatureScales Method: convert Parameters: int, int, int, int, int Returns: double Method signature: double convert(int f1, int b1, int f2, int b2, int t) (be sure your method is public)

Notes

-The return value must be within 1e-9 absolute or relative error of the actual result.
-Because the boiling and the freezing points of water depend on the atmospheric pressure, you may assume that both the scales are under the same circumstances.

Constraints

-f1,b1,f2,b2 and t will each be between -1000 and 1000, inclusive.
-f1 will be less than b1.
-f2 will be less than b2.

Examples

0)

 0 100 0 100 28
Returns: 28.0
 These are two identical scales, so temperatures in both of them coincide.
1)

 0 100 1 101 28
Returns: 29.0
 The second scale is shifted up 1 degree relative to the first scale.
2)

 -1000 -999 -1000 1000 1000
Returns: 3999000.0
3)

 -10 0 1 2 17
Returns: 3.7
4)

 17 98 -123 12 22
Returns: -114.66666666666667

Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=6038

Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=9820&pm=6038

Vovka

Testers:

PabloGilberto , brett1479 , vorthys , Olexiy

Simple Math