Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm tốc độ người chèo từ tốc độ dòng nước và tỷ lệ thời gian lên/xuống dòng trong C++

Trong bài toán này, cho hai giá trị S và N biểu diễn tốc độ dòng nước (km/h) và tỷ lệ thời gian lên/xuống dòng. Nhiệm vụ là tìm tốc độ người chèo từ tốc độ dòng nước và tỷ lệ thời gian.

Ví dụ minh họa:

Đầu vào

S = 5, N = 2

Đầu ra

15

Phương pháp giải

Giải pháp đơn giản dùng công thức toán học cho bài toán chèo thuyền:

Tốc độ người = x km/h 
Tốc độ dòng = S km/h 
Tốc độ xuống dòng = (x+S) km/h 
Tốc độ lên dòng = (x-S) km/h 
Thời gian xuống dòng = T 
Thời gian lên dòng = n*T 
Quãng đường lên = (x - S)*n*T 
Quãng đường xuống = (x + S)*T 
Vì quãng đường bằng nhau: 
(x + S) * T = (x - S)*n*T 
x + S = nx - nS 
S + nS = nx - x 
S*(n + 1) = x(n - 1)

$$x=\frac{S*(n+1)}{(n-1)}$$

Chương trình minh họa:

Ví dụ

#include <iostream> 
using namespace std; 

float calcManSpeed(float S, int n) { 
    return ( S * (n + 1) / (n - 1) ); 
} 

int main() { 
    float S = 12; 
    int n = 3; 
    cout<<"The speed of man is "<<calcManSpeed(S, n)<<" km/hr"; 
    return 0; 
}

Kết quả

The speed of man is 24 km/hr