ओवरफ्लो सुरक्षित योग


13

मुझे लगता है कि कर रहा हूँ दिया पूर्णांक चौड़ाई तय (यानी वे चौड़ाई का एक रजिस्टर में फिट डब्ल्यू ,) एक 1 , एक 2 , ... एक n ऐसी है कि उनकी राशि एक 1 + एक 2 + + एक n = एस भी एक रजिस्टर में फिट चौड़ाई के डब्ल्यूnwa1,a2,ana1+a2++an=Sw

मुझे ऐसा लगता है कि हम हमेशा की संख्याओं की अनुमति दे सकते हैं , ताकि प्रत्येक उपसर्ग योग S i = b 1 + b 2 + + b i भी चौड़ाई w के एक रजिस्टर में फिट हो ।b1,b2,bnSi=b1+b2++biw

मूल रूप से, प्रेरणा किसी भी मध्यवर्ती स्तर पर पूर्णांक ओवरफ्लो के बारे में चिंता किए बिना निश्चित चौड़ाई रजिस्टर मशीनों पर योग गणना करना है ।S=Sn

वहाँ एक तेजी से (अधिमानतः रैखिक समय) एल्गोरिथ्म इस तरह के एक क्रमचय (यह मानते हुए मिल रहा है एक इनपुट सरणी के रूप में दिए गए हैं)? (या यूं कहें कि अगर इस तरह का क्रमपरिवर्तन मौजूद नहीं है)।ai


3
अनुवर्ती: संक्षेप में अतिप्रवाह का पता लगाना - क्या एक तेज़ विधि है जो विशिष्ट प्रोसेसर विशेषताओं को ध्यान में रखती है?
गाइल्स 'एसओ- बुराई को रोकें'

1
बस दो पूरक रजिस्टर का उपयोग करें और उन्हें योग करें। यहां तक ​​कि अगर यह बीच में ओवरफ्लो होता है, तो आपकी पूर्व-शर्त गारंटी देती है कि ओवरफ्लो रद्द हो जाएगा, और परिणाम सही होगा। : पी
कोडइंचौस

@CodeInChaos: क्या यह सच है?
आर्यभट्ट

1
मुझे ऐसा लगता है। आप अनिवार्य रूप से एक समूह सापेक्ष 2 ^ n है, जहां आप से विहित प्रतिनिधित्व चुनें में काम कर रहे हैं -2^(n-1)करने के लिए 2^(n-1)-1। बेशक इसे दो पूरक और अच्छी तरह से परिभाषित अतिप्रवाह व्यवहार की आवश्यकता होती है, लेकिन सी # जैसी भाषा में इसे काम करना चाहिए।
कोडइन्चोस

2n

जवाबों:


10


0

कलन विधि

  1. a1,,anPM
  2. Sum=0
  3. जबकि दोनों सूची गैर-रिक्त हैं
  4.       Sum>0Sum:=Sum+head(M)M:=tail(M)
  5.       Sum:=Sum+head(P)P:=tail(P)
  6. S

सुधारात्मक
सुधार संख्या की सूची की लंबाई पर एक सीधा आगमनात्मक तर्क का उपयोग करके स्थापित किया जा सकता है।

a1,,an

SumSum=0Sum>0SumSumSum0SumSum

अब, पहला परिणाम लागू किया जा सकता है, और साथ में ये साबित करने के लिए पर्याप्त हैं कि योग कभी भी सीमा से बाहर नहीं जाता है।


0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.