2009-12-03 14 views
5

में लंबे समय से बड़ी संख्या में हैंडलिंग नंबर मैं वर्तमान में प्रोजेक्ट यूलर से समस्या हल करने के लिए वीबीए में कुछ कोड लिखने की कोशिश कर रहा हूं। मैं एक ऐसे प्रश्न का उत्तर देने की कोशिश कर रहा हूं जिसके लिए आपको प्राइम ढूंढने की आवश्यकता है जिसे एक ऐसे नंबर में विभाजित किया जा सकता है जो लंबे समय तक फिट नहीं होगा। इस समस्या को संभालने के तरीके के बारे में कोई सुझाव?वीबीए

मुझे पता है कि मैं दो चर के बीच संख्या को विभाजित कर सकता हूं और मैंने इसे अतिरिक्त और घटाव के लिए किया है लेकिन कभी विभाजन नहीं किया है। किसी भी तरह की सहायता को आभार समझेंगे।

+4

अभाज्य संख्या है कि एक संख्या से विभाज्य रहे हैं ...? – Henrik

+0

मुझे लगता है कि हम जानते हैं कि उसका मतलब क्या है @ एजेंट 38 9 प्राइम किसी भी संख्या से विभाजित नहीं हैं लेकिन 1 और स्वयं। आप वास्तव में किसी संख्या के वर्ग रूट तक लूपिंग करके इसका परीक्षण कर सकते हैं। आप शायद तब भी तेज हो सकते हैं, मुझे पता है कि आपको उस संख्या के आधे भाग पर जाना नहीं चाहिए (विभाजन, इसलिए वर्ग रूट थोड़ा तेज़ है)। – JonH

+0

मिसवॉर्डिंग के लिए खेद है, मैंने इसे और अधिक स्पष्ट करने के लिए प्रश्न को अद्यतन किया है। – Agent389

उत्तर

1

मूल रूप से आप पाठ के रूप में संख्या की दुकान और जोड़ने, घटाने के रूप में बुनियादी गणित कार्यों के लिए काम करता है बनाने के लिए माना जाता कर रहे हैं, आदि

अधिक जानकारी और कार्यान्वयन के लिए, एक नज़र यहाँ ले "डबल" डेटा प्रकार जो बड़े मान लेता है।

+5

आपको एक लिंक से अधिक इमोर प्रदान करना चाहिए – BrainO2

0

आप एक बड़ी कक्षा लिख ​​सकते हैं जो char * लेता है और प्रत्येक तत्व को टाइप int के लिंक किए गए सूची डेटा आइटम में संग्रहीत करता है। इस तरह इससे कोई फर्क नहीं पड़ता कि पूर्णांक कितना बड़ा है। हालांकि यह आसान नहीं है, मैं एक पूर्ण उड़ा वर्ग के बारे में बात कर रहा हूँ। Large Number Arithmetic

-2

उपयोग:

+0

"डबल" का उपयोग करना एक बुरा विचार है क्योंकि यह महत्वपूर्ण आंकड़ों की एक निश्चित संख्या तक सीमित है ताकि आप बड़ी संख्या के साथ सटीकता खो देंगे। – M1chael

0

आप एक दशमलव डेटा प्रकार (12 बाइट्स), परिभाषित कर सकते हैं लेकिन केवल एक संस्करण के भीतर।

Dim i As Variant

i = CDec(i)