Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Program liczący liczby pierwsze Mersenne'a

#1
Program liczący liczby pierwsze Mersenne'a
Otoż problem wyglada tak ze program działa ale zapętla sie jeszcze przed wyświetleniem mi wyniku (od razu mowie ze nie mam pomyslu innego jak napisac to tak zeby sprawdzalo czy jest to liczba pierwsza czy nie) kod programu wyglada nastepujaco
Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
   class Program
   {
       static void Main(string[] args)
       {
           double b, c, e;
           b = 2;
           c = 0;
           e = 1;
           for (int i = 0; i <= 49; i++)
           {
           zxc:
               e++;
               b = b * b;
               c = b - 1;
               if( c % 2 == 0 )
               {
                   if( c % 3 == 0 )
                   {
                       if( c % 5 == 0 )
                       {
                           if( c % 7 == 0)
                           {
                               Console.WriteLine("nr." + i + " = 2^" + e);
                           }
                           else
                           {
                               goto zxc;
                           }
                       }
                       else
                       {
                           goto zxc;
                       }
                   }
                   else
                   {
                       goto zxc;
                   }

               }
               else
               {
                   goto zxc;
               }
           }
           Console.ReadKey(true);
       }
   }
}
Bardzo prosił bym o pomoc w rozwiazaniu tego problemu

wpadlem na pomysl aby zrobic to w jako 2^x-1 a x dac jako zmienna x++, nastepnie sprawdzac czy wynik rownania jest liczba pierwsza oraz zlota liczba jesli jest to powrot do poczatku i zwiekszamy x o 1 i tak w kolko tylko nie mam pomyslu jak to napisac

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wpadłem na pomysl aby zrobic petle gdzie mamy rownanie 2^x-1 gdzie x bedzie x++ przy kazdym powtorzeniu petli i wynik dzialania bedzie sprawdzany czy jest liczba pierwsza poprzez brute force a nastepnie sprawdzany czy jest liczba doskonala i jesli obydwa warunki beda spelnione to bedzie wypisywana na ekranie, problem w tym ze nie mam pomyslu jak to napisac
 System operacyjny: windows_seven Przeglądarka: chrome
#2
RE: Program liczący liczby pierwsze Mersenne'a
Nic się nie zapętla. Wszystko działa dokładnie według ustalonych warunków. Po prostu w każdej kolejnej iteracji któryś z warunków nie jest spełniony, więc program przeskakuje od razu do ostatniej instrukcji. Wiesz, jak w Visual Studio debuguje się program z podglądem zmiennych w trakcie wykonywania? Prześledź sobie zmienne w trakcie debugowania.
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#3
RE: Program liczący liczby pierwsze Mersenne'a
Podpowiedź: podane warunki spełni jedynie liczba 2*3*5*7 = 210. Poza tym użycie instrukcji goto jest złym pomysłem (program obejdzie się bez niej). Może zacznij najpierw od napisania funkcji, która zwróci informację, czy liczba jest pierwsza (na początek wystarczy pętla, która sprawdzi podzielność przez liczby nie większe niż n/2, gdzie n to badana liczba - później możesz nieco usprawnić).
Z ciekawości - dlaczego akurat C#?
 System operacyjny: linux_ubuntu Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki (Program liczący liczby pierwsze Mersenne'a)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [VBA Excel] Zaokrąglanie liczby w górę Pioro 2 10151 13.02.2018, 21:25
Ostatni post: Pioro
  Konwertowanie słów na liczby Java Blendow 5 8097 19.08.2017, 21:17
Ostatni post: Szachista
  Wyszukuje wszystkie dzielniki danej liczby n które są liczbami pierwszymi soul1648 2 6050 21.03.2017, 20:55
Ostatni post: soul1648

Skocz do:


Wybrane wątki (Program liczący liczby pierwsze Mersenne'a)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Transfer plików via FTP Visual Basic FireBytes 3 3617 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 648 07.08.2019 12:43
Ostatni post: aht
  Książki do nauki C# olek23 6 1384 01.08.2019 18:17
Ostatni post: Ajgor
  Python z wiersza poleceń Physicist 12 3682 30.06.2019 20:47
Ostatni post: Physicist
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 2022 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 2254 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 2163 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 3651 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 1576 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 3380 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 3451 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 4042 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 3928 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 3481 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 5852 21.03.2019 01:28
Ostatni post: UnableToSee