मान लीजिए, a, b, और c आयामों के कई घन हैं, और उनका उपयोग करके आयाम axbxc का एक नया बॉक्स बनाया जाता है। ए, बी, और सी जोड़ीदार सह-अभाज्य हैं; gcd(a, b) =gcd(b,c) =gcd(c, d) =1. हमें बॉक्स को एक ही स्लाइस से दो टुकड़ों में काटना है जैसा कि चित्र में दिखाया गया है। हमें यह पता लगाना है कि क्या डिब्बे को इस तरह से काटा जाता है, कितने घनों को दो टुकड़ों में काटा जाता है। हमें एक सरणी प्रदान की जाती है जिसमें संभावित तीन आयाम होते हैं, और हमें उसी से अपना उत्तर खोजना होता है।
कट इस तरह से किया जाता है कि यह पी, क्यू, और आर के शिखर के माध्यम से जाने वाला विमान है।
इसलिए, यदि इनपुट n =3, input_array =[[1, 2, 3], [4, 2, 5], [6, 8, 2]] जैसा है, तो आउटपुट [5, 18, 37 होगा। ]
3 अलग-अलग उदाहरण दिए गए हैं और हमें काटे गए घनों की संख्या ज्ञात करनी है। यदि क्यूब्स को चित्र में दिखाए गए तरीके से काटा जाता है; 5, 16, और 37 घनों को क्रमशः काटा जाता है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे &miuns;
- आउटपुट:=एक नई सूची
- मैं के लिए 0 से n की सीमा में, करते हैं
- a :=input_array[i, 0]
- b :=input_array[i, 1]
- c :=input_array[i, 2]
- वैल:=(a * b + a * c + b * c - 1) / 2 मॉड 1000000007 का फ्लोर वैल्यू
- आउटपुट के अंत में वैल डालें
- रिटर्न आउटपुट
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
from math import ceil def solve(n, input_array): output = [] for i in range(n): a, b, c = input_array[i][0], input_array[i][1], input_array[i][2] val = ((a * b + a * c + b * c - 1) // 2 % 1000000007) output.append(val) return output print(solve(3, [[1, 2, 3], [4, 2, 5], [6, 8, 2]]))
इनपुट
3, [[1, 2, 3], [4, 2, 5], [6, 8, 2]]
आउटपुट
[5, 18, 37]