ในปัญหานี้ เราได้รับเลขจำนวนเต็มสองตัวที่ให้จุดเริ่มต้นโดย A ถึง B และ C ตามลำดับในการแข่ง 100 เมตร งานของเราคือสร้าง โปรแกรมเพื่อค้นหาจุดเริ่มต้นในการแข่งขันในภาษา C++ .
คำอธิบายโค้ด - ที่นี่มีการเฮดสตาร์ทที่ได้รับจาก A ถึง B และ A ถึง C ตามลำดับในการแข่ง 100 เมตร เราต้องหาสัมพัทธ์ในการออกตัวของ B ถึง C ในการแข่งขัน 100 เมตร
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
อินพุต
20, 28
ผลลัพธ์
90
คำอธิบาย
A ให้ B ขึ้นต้นที่ 15 เช่น ถ้า A ครบ 100 ม. แล้ว B จะครบ 80
A ให้ C ขึ้นต้นที่ 28 เช่น ถ้า A ครบ 100 ม. แล้ว B จะครบ 72
ตอนนี้เมื่อ B ครบ 80 เมตร C จะครบ 72
ถ้า B ครบ 100 แสดงว่า C สำเร็จ
(72 * 100) / 80 = 90
แนวทางการแก้ปัญหา
ในการแก้ปัญหา ให้หาระยะทางที่ B และ C สมบูรณ์เมื่อครบ 100 เมตร หลังจากนี้ เราจะคำนวณระยะทางที่ C สำเร็จเมื่อ B ครบ 100 โดยใช้สูตร −
(C * 100) B
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
ตัวอย่าง
#include <iostream> using namespace std; int CalcHeadStart(int B, int C) { return ( 100 - ( ( (100 - C)*100 ) / (100 - B)) ) ; } int main() { int B = 12, C = 34; cout<<"Head start in a race by B to C is "<<CalcHeadStart(B, C) << " meters"; return 0; }
ผลลัพธ์
Head start in a race by B to C is 25 meters