Bonjour,
Dans mes temps libres, je m'amuse à résoudre les problèmes mathématiques proposés par le site https://projecteuler.net/
Dans le problème 540 (https://projecteuler.net/problem=540), il faut trouver le nombre de triangles de Pythagore pour lesquels le plus grand côté est un nombre très grand (> 10^16) et pour lesquels le PGCD des 3 côtés est égal à 1. Je sais comment générer tous ces triangles, mais le problème est que mon programme plante par manque de mémoire quand je crée le tableau dynamique pour les storer. Je suis incapable de créer un tableau dynamique de plus de 65 000 000 d'enregistrements de Record of A, B, C (3 variables Int64).
J'ai donc essayé une solution lente de storer mes triangles dans un file of Record.
Or, après de longues minutes à rouler, j'obtiens un message Erreur E/S 131 (Tentative de déplacement du pointeur de fichier avant le début du fichier).
Je ne comprends pas l'origine du problème. Y a-t-il une taille maximale pour un tel fichier?
Notez que j'ai aussi essayé d'utiliser une procédure récursive. La solution n'est pas possible (du moins, pas sur mon ordinateur), car j'ai aussi un problème de manque de mémoire étant donné l'utilisation de la pile.
Si le fichier ne fonctionne pas, j'essayerai peut-être un multi thread. J'ai déjà fait ça une fois, je devrais être capable de recommencer.
Merci à l'avance de votre input!
Éric
Partager