Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Βοήθεια - Πρώτοι και Fibonacci

Βοήθεια - Πρώτοι και Fibonacci 2 Χρόνια 10 Μήνες πριν #2677

  • thodoris_11`
  • Το Άβαταρ του/της thodoris_11`
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 1
Καλησπέρα ,
Η εκφώνηση της άσκησης λέει ότι υπάρχουν όροι F[n] από την ακολουθία Fiboncci που είναι ακέραια πολλαπλάσια των P[n] πρώτων αριθμών (το n κοινό και για τα 2).Να βρείτε τα πρώτα 5.
Εδώ είναι για τους πρώτους 2.
phi = (1 + 5**0.5) / 2
Fib = []
for i in range(3):
    Fib.append(int(round((phi**i - (1-phi)**i) / 5**0.5)))
for j in range(3,10000):
    Fib.append(Fib[j-1]+Fib[j-2])
 
import math
sieve = [True] * 1300000
sieve[0] = False #To mhden kai to 1 den einai prwtoi
sieve[1] = False
for i in range(2,int(math.sqrt(130000)+1)):
    deikths = i * 2
    while deikths < 1300000:
        sieve[deikths] = False
        deikths += i
primes = []
for i in range(1300000):
    if sieve[i] == True:
        primes.append(i)
k =[]
for i in range(9999):
    if Fib[i+1] % primes[i] == 0:
        k.append(i+1)
 

Πρόβλημα MemryError αν μπορείτε βα βοηθήσετε , ευχαριστώ εκ των προτέρων.
Τελευταία διόρθωση: 2 Χρόνια 10 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Βοήθεια - Πρώτοι και Fibonacci 2 Χρόνια 10 Μήνες πριν #2680

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 403
  • Ληφθείσες Ευχαριστίες 65
Φαίνεται ότι δεν έχει ο υπολογιστής σου αρκετή μνήμη ram για να
αποθηκεύσει τα προσωρινά δεδομένα.Και κάτι που χρησιμοποιεί πολύ
μνήμη στο πρόγραμμα σου είναι το τελευταίο σου loop:
k =[]
for i in range(9999):
    if Fib[i+1] % primes[i] == 0:
        k.append(i+1)

Εδώ δημιουργείς μία αρκετά μεγάλη λίστα μάλλον διότι
το if statement σου γίνετε αληθές πολλές φορές και επειδή
το loop σου είναι αρκετά μεγάλο.

Επιπλέον και εδώ:
for j in range(3,10000):
    Fib.append(Fib[j-1]+Fib[j-2])

Ειδικά το παραπάνω loop προσθέτει επιπλέον 9997 θέσεις
στην Fib λίστα σου, κάτι το οποίο καταλαμβάνει αρκετή μνήμη.
Δεν ξέρω τη ακριβώς κάνει το πρόγραμμα σου αλλά ένα τόσο
μεγάλο loop με φαίνεται περίεργο.

Πόση μνήμη ram έχει ο υπολογιστής σου;

Ο δικός μου έχει 2 gb και το πρόγραμμα σου τρέχει χωρίς κανένα
λάθος.
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Τελευταία διόρθωση: 2 Χρόνια 10 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.456 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου