math - Does this code contain a divide by zero error? -


मैंने एक मेटा ट्रेडर MQL4 भाषा .mq4 से स्रोत-कोड फ़ाइल और मुझे लगता है कि फाइल में निहित शून्य त्रुटि से विभाजित है। संबंधित अनुभाग है:

  // कम-स्क्वायर विधि n = (नल - 1) / 2 के लिए रकम की गणना करें; Sx2 = (2 * n + 1) / 3.0; Sx3 = n * (n + 1) / 2.0; Sx4 = sx2 * (3 * n * n + 3 * n - 1) / 5.0; Sx5 = sx3 * (2 * n * n + 2 * n - 1) / 3.0; Sx6 = sx2 * (3 * n * n * n * (n + 2) - 3 * n + 1) / 7.0; Den = sx6 * sx4 / sx5 - sx5; // & lt; ---------------------------- एक DIV! 0 त्रुटि यहां है?   

यह डेमो-कोड मामला:

क्या मैं इस धारणा में सही हूं कि कोड में एक त्रुटि है, और यदि इसलिए , शायद कोई यह बता सकता है कि सुधार क्या होना चाहिए ?


सामान्य गणना मामलों:

उद्योग क्या सबसे अच्छा अभ्यास है / क्या व्यावहारिक सॉफ्टवेयर-डिजाइन उपायों को डीआईवी! 0 घटना (एस)

शून्य से एक विभाजन यदि sx5 शून्य होगा तो होगा एसएक्स 5 को शून्य होने का कारण जानने के लिए, sx5 = 0 को n के लिए हल करें।

  0 = sx5 0 = sx3 * (2 * n * n + 2 * n - 1) / 3.0 0 = (N * (n + 1) / 2.0) * (2 * n * n + 2 * n - 1) / 3.0 ... 0 = 2 * n ^ 4 + 4 * n ^ 3 + n ^ 2 - एन   

उस समीकरण का एक संभावित समाधान n = 0 है, तो शून्य त्रुटि से एक विभाजन तब होगा यदि नल 1 है। मुझे नहीं पता कि समीकरण के अन्य समाधान हैं।

अपडेट: जोड़ा गया गणित।

Comments