您的位置:首页 > 编程语言 > Java开发

杭电ACM OJ 1038 Biker's Trip Odometer 水(只是题目意思有点难理解) java保留两位小数

2017-12-05 13:30 393 查看


Biker's Trip Odometer

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 6300    Accepted Submission(s): 4281


Problem Description

Most bicycle speedometers work by using a Hall Effect sensor fastened to the front fork of the bicycle. A magnet is attached to one of the spokes on the front wheel so that it will line up with the Hall Effect switch once per revolution of the wheel. The speedometer
monitors the sensor to count wheel revolutions. If the diameter of the wheel is known, the distance traveled can be easily be calculated if you know how many revolutions the wheel has made. In addition, if the time it takes to complete the revolutions is known,
the average speed can also be calculated. 

For this problem, you will write a program to determine the total distance traveled (in miles) and the average speed (in Miles Per Hour) given the wheel diameter, the number of revolutions and the total time of the trip. You can assume that the front wheel
never leaves the ground, and there is no slipping or skidding.

 

Input

Input consists of multiple datasets, one per line, of the form:

diameter revolutions time

The diameter is expressed in inches as a floating point value. The revolutions is an integer value. The time is expressed in seconds as a floating point value. Input ends when the value of revolutions is 0 (zero).

 

Output

For each data set, print:

Trip #N: distance MPH

Of course N should be replaced by the data set number, distance by the total distance in miles (accurate to 2 decimal places) and MPH by the speed in miles per hour (accurate to 2 decimal places). Your program should not generate any output for the ending case
when revolutions is 0.

Constants

For p use the value: 3.1415927.

There are 5280 feet in a mile.

There are 12 inches in a foot.

There are 60 minutes in an hour.

There are 60 seconds in a minute.

There are 201.168 meters in a furlong.

 

Sample Input

26 1000 5
27.25 873234 3000
26 0 1000

 

Sample Output

Trip #1: 1.29 928.20
Trip #2: 1179.86 1415.84

翻译:26就是轮子直径 1000就是轮子转了1000下 需要求出行驶距离(速度我没看 应该差不多算)

做法:26 * p * 1000/(12 * 5280)这样是为了把26英寸 转化成英尺 再转化成英里

代码:
package ACM1000_1099;

import java.text.DecimalFormat;

public class BikersTripOdometer1038 {
void calculate() {
float p = 3.1415927f;

float d = 26f;
float C = d * p;

float result = C * 1000 / (12 * 5280);

DecimalFormat df = new DecimalFormat("######0.00");
String r = df.format(result);

System.out.print(r);
}

public static void main(final String[] args) throws Exception {
BikersTripOdometer1038 b = new BikersTripOdometer1038();
b.calculate();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: