Programme pour trouver les nombres premiers

Je veux trouver le premier nombre entre 0 et une variable de type long, mais je ne suis pas en mesure d'obtenir n'importe quelle sortie.

Le programme est

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication16
{
    class Program
    {
        void prime_num(long num)
        {
            bool isPrime = true;
            for (int i = 0; i <= num; i++)
            {
                for (int j = 2; j <= num; j++)
                {
                    if (i != j && i % j == 0)
                    {
                        isPrime = false;
                        break;
                    }
                }
                if (isPrime)
                {
                    Console.WriteLine ( "Prime:" + i );
                }
                isPrime = true;
            }
        }

        static void Main(string[] args)
        {
            Program p = new Program();
            p.prime_num (999999999999999L);
            Console.ReadLine();
        }
    }
}

Quelqu'un peut-il m'aider et trouver quelle est l'erreur possible dans le programme?

  • Le modèle de projet a été utilisé pour créer ce projet.
  • Les devoirs d'alerte !!
  • Avez-vous des sortie si vous le mettez dans un petit nombre au départ, tels que 10?
  • Probablement devoirs, rien de mal à cela tant que le demandeur a essayé de répondre aux devoirs problème et il est bloqué sur un problème spécifique (comme cela semble être le cas ici).
  • Stocker: c'est le plus patological exemple que j'ai vu de ce problème :S
  • Même si vous vous en tenez à l'algorithme naïf, au moins arrêter la recherche à la racine carrée.
  • Combien de temps cette chose fait prendre? 999999999999999L est tout à fait un grand nombre?
  • il prendra la durée de vie, même lorsqu'fixe que par les réponses ci-dessous, ni le but de générer tous ces nombres premiers expliqué. Si le but est en faisant la somme, de trouver la première occurrence de lacunes, les doubles, les triples, et ainsi de suite, alors la seule approche possible serait d'écrire un très efficace multi-processeur page-sectorielle version du Crible d'Eratosthène, qui devrait prendre un mois ou deux sur un modernes haut de gamme de l'ordinateur de bureau, mais pourrait être mis à l'échelle pour s'exécuter sur des centaines de milliers de cœurs d'un super-ordinateur pour exécuter en quelques secondes.

InformationsquelleAutor sandy101 | 2009-10-02