2008-12-24 22 views
14

क्रिसमस उपहार के रूप में मैंने प्राइम की गणना करने के लिए जावा में एक छोटा प्रोग्राम लिखा है। मेरा इरादा इसे पूरी रात छोड़ना था, अगले प्राइम की गणना करना और इसे .txt फ़ाइल में लिखना था। सुबह में मैं कार्यक्रम को मार डालूंगा और क्रिसमस के लिए अपने दोस्त को .txt फ़ाइल ले जाऊंगा।क्या .txt फ़ाइल आकार पर ऊपरी सीमा है?

क्या मुझे कुछ भी चिंतित होना चाहिए? ध्यान रखें कि यह सच शुरुआती जिग्गी है, आप एएसएम लड़के की जांच करने में कुछ स्मार्ट त्रुटि नहीं कर रहे हैं।

संपादित करें अधिक विशेष रूप से, क्योंकि मैं इस कार्यक्रम को पूरी रात गिनती पर छोड़ दूंगा, क्या मुझे कोई मौका है कि मुझे किसी प्रकार की स्मृति से संबंधित त्रुटि का सामना करना पड़ेगा? जैसे, ढेर ढेर या कुत्तों और बिल्लियों को एक साथ सोते हुए ढेर?

और भी विशेष रूप से संपादित करें, क्या फ़ाइल का आकार 4 जीबी होने पर लाइनों के प्रिंटिंग को रोकने के लिए कोड की एक पंक्ति हो सकती है? सुरक्षित रहने के लिए?

संपादित करें: सफलता: इसे पूरी रात छोड़ने के बाद मुझे 13 KB से अधिक प्राइम नहीं मिला, उच्चतम मुझे मिला 22 9 47217, जो कि हजारों प्राइम्स की तरह है। सफलता!

+10

अगले वर्ष आप अपने दोस्त को फिबोनाची संख्याओं का एक बॉक्स दे सकते हैं; ओ) – wcm

+0

हे। मेरे पास अभी भी, कहीं भी, एक सीडी है जो मेरे पहले प्राइम जेनरेटर से आउटपुट रखती है। एक असम्पीडित, 256-मेगाबाइट बिटस्ट्रीम MAXINT से कम प्रत्येक विषम संख्या के लिए सही/गलत है। खत्म करने के लिए बस एक दिन के नीचे ले लिया। :-) –

+0

यह सिर्फ इतना ही भव्य क्रिसमस उपहार है! – Tbb

उत्तर

5

संभावना से अधिक आप धीमे होने वाले एल्गोरिदम का उपयोग कर रहे हैं। जैसे ही प्राइम बड़ा हो जाता है, आपका प्रोग्राम एक ही प्राइम की गणना करने में लंबा और लंबा समय लेगा। यदि आप रात को इसे चलाने देते हैं तो पाठ फ़ाइल सुबह में बहुत बड़ी नहीं होगी। अगर मैं दो मेग्स से अधिक हो तो मैं प्रभावित हूं।

+0

अच्छा! असल में मैंने यह देखने के लिए कार्यक्रम का समय दिया कि क्या मैं अनुमान लगा सकता हूं कि कल तक टेक्स्ट फ़ाइल कितनी बड़ी होगी। लगभग आधे मिनट में मैं ऐसा था, "ओह रुको, आकार में वृद्धि छोटे और छोटे होने जा रही है: मुझे चिंता करने की कोई बात नहीं है"। – Ziggy

0

केवल उस स्थान के आकार के रूप में आप डिस्क पर टेक्स्ट फ़ाइल संग्रहीत कर रहे हैं।

और, यदि आप इसे तुरंत लिख नहीं रहे हैं, तो आपकी मेमोरी + वर्चुअल मेमोरी।

+0

सीरियल डाउनवॉटर: आपको स्टैक ओवरव्लो द्वारा ट्रैक किया जा रहा है। आपके सभी डाउनवॉट्स को किसी बिंदु पर हटा दिया जाएगा। सीरियल डाउनवॉटर के बारे में –

+0

, यह ऐसा नहीं लगता है .. –

2

तकनीकी रूप से, फाइल सिस्टम आपके ऊपर रखे जाने के अलावा कोई सीमा नहीं है। हालांकि, नोटपैड वास्तव में बड़ी फ़ाइलों को खोलने के बारे में वास्तव में क्रैंकी है।

18

मैं आपके द्वारा गणना की जाने वाली प्रत्येक प्रधान के लिए एक एसएमएस संदेश भेजने की अनुशंसा करता हूं। आपका दोस्त पेपर के गुच्छा से ज्यादा बेहतर होगा। इसके अलावा वह अधिक बार अद्यतन किया जा सकता है।

आप उन्हें here: से मुक्त भेज सकते हैं।

बस कैप्चा को पार करना होगा।

+1

@ जॉब बी: पहले .... –

+0

हां, पहले कई सौ मिलियन प्राइम के बाद, इसे उचित होना शुरू करना चाहिए :) –

+0

इसके अलावा, एसएमएस में एक है 160 वर्णों की पाठ सीमा। तो इससे बड़ा कोई भी बड़ा संभव नहीं है। –

1

यदि स्मृति सेवा करता है, तो FAT32 में 4gig फ़ाइल सीमा आकार है।

2

आप प्रत्येक फ़ाइल में लिखने वाले बाइट्स की संख्या को ट्रैक करने और कुछ बाइट्स के बाद एक नए पर स्विच करने पर विचार कर सकते हैं। आप अपनी फाइलों के लिए दर्शक भी प्रदान कर सकते हैं ताकि आपका मित्र अपना उपहार अधिक आसानी से देख सके। "नहीं कुछ स्मार्ट त्रुटि जाँच एएसएम पुरुष।": :)

1

Ziggy--

मैं इस प्यार आप हम सभी का वर्णन कर रहे हैं!

डिस्क की बहुत सारी जगह है और लिखो! जैसा कि पहले उल्लेख किया गया है, सुनिश्चित करें कि आपकी फ़ाइल खोलने के लिए उपयोग किया गया संपादक बहुत बड़ी फाइलें खोल सकता है।

हैप्पी छुट्टियां, सच्चे शुरुआती जिग्गी।

7

, सीमा के बहुत सारे है, हालांकि उनमें से कोई भी फाइल को .txt में आंतरिक हैं:

  • विंडोज 9x नोटपैड एक फ़ाइल 64KB नहीं खुलेगा>।
  • विंडोज एनटी/2 के/आदि के नोटपैड की कोई सीमा नहीं है, लेकिन बहु-मेगाबाइट फ़ाइलों पर चकित और लॉक हो जाती है। आपको यह भी याद रखना होगा कि अधिकांश टेक्स्ट संपादक गूंगा हैं और पूरी फ़ाइल को रैम में पढ़ने का प्रयास करें।
  • बहुत सारे सॉफ़्टवेयर 2 जीबी या 4 जीबी फाइलों तक सीमित हैं, भले ही वे हस्ताक्षरित या हस्ताक्षरित इनट्स का उपयोग करें - जैसा कि पहले से ही उल्लेख किया गया है कि एफएटी 32 इस के दोषी है।
0

कुछ CPU चक्रों को सहेजने और केवल पूर्व-गणना list of primes डाउनलोड करने के बारे में कैसे? या यह और अधिक "विचार है कि मायने रखता है"? :)

+0

निश्चित रूप से विचार है कि यह मायने रखता है: यह क्रिसमस मेरे दोस्त है! – Ziggy

+3

मुझे बहुत खुशी है कि मैं आपकी क्रिसमस सूची पर नहीं हूं :) –

0

प्रत्येक प्राइम नंबर के लिए केवल एक फ़ाइल बनाने के बारे में क्या है और फिर संख्या प्रदर्शित करने के लिए फ़ाइल नाम का उपयोग करें?

+0

आप निर्देशिका आइटम सीमा को बहुत तेज़ी से दबाएंगे। –

+0

यह फाइल सिस्टम पर निर्भर करता है। लेकिन यह एक नया सवाल होगा। – Marc

0

किसी भी तरह मुझे संदेह है कि जब आपका प्रोग्राम रातोंरात चल रहा है, तो फाइलसाइज एक समस्या होगी, क्योंकि इस बात पर विचार करने में अधिक समय लगेगा क्योंकि संख्याएं बड़ी हो जाती हैं। बस सुनिश्चित करें कि आप साफ करते हैं या आप अपनी सारी रैम खा सकते हैं।

अपने प्रश्न का उत्तर देने के लिए: सैद्धांतिक रूप से, फाइल सिस्टम फ़ाइल आकार को प्रतिबंधित करता है। हालांकि, बड़ी फ़ाइलों (> 100 एमबी) लोड करते समय बहुत सारे टेक्स्ट एडिटर्स क्रैश (vim नहीं करता), क्योंकि वे इसे एक बफर में फिट करने का प्रयास करते हैं।

संक्षेप में, अपनी फ़ाइलों को टुकड़ों में विभाजित करने पर विचार करें सबसे कमजोर लिंक (टेक्स्ट एडिटर्स) संभाल सकता है।

संबंधित मुद्दे