मान लीजिए कि हमारे पास चार संख्याएँ p, a, b और c हैं। एक पूल है और तीन तैराक हैं। वे पूल को पार करने और क्रमशः वापस आने के लिए a, b और c मिनट लेते हैं। तो पहला तैराक 0, a, 2a, 3a,... के बाद पूल के बाईं ओर होगा प्रारंभ समय के बाद मिनट। दूसरा 0, b, 2b, 3b,... मिनट पर होगा और तीसरे के लिए 0, c, 2c, 3c, ... अगर हम p मिनट के बाद पूल में जाते हैं तो उन्होंने तैरना शुरू कर दिया है, हमें यह पता लगाना होगा कि कैसे पूल के बाईं ओर तैराकों में से कम से कम एक को पाने के लिए हमें कम से कम इंतजार करना पड़ता है।
इसलिए, यदि इनपुट p =2 जैसा है; ए =6; बी =10; c =9, तो आउटपुट होगा क्योंकि 2 बजे हम पूल के पास हैं, पहला तैराक 6 बजे वापस आएगा इसलिए हमें 4 यूनिट समय का इंतजार करना होगा।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
(p को 1 से घटाएं) कम से कम (a - (p mod a + 1)), (b - (p mod b + 1)) और (c - (p mod c + 1)) लौटाएं।>उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#includeनामस्थान का उपयोग करके std;intsolve(int p, int a, int b, int c) {p--; वापसी मिनट (ए - (पी% ए + 1), मिनट (बी - (पी% बी + 1), सी - (पी% सी + 1));} इंट मुख्य () {इंट पी =2; इंट ए =6; इंट बी =10; इंट सी =9; cout <<हल (p, a, b, c) < इनपुट
2, 6, 10, 9आउटपुट
4