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.
Ajgor

Najnowszy klip mojego zespołu: TAMP - Hallelujah
 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#?
Nie odpowiadam na PW, więc proszę nie pisać do mnie.
 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 2779 13.02.2018, 21:25
Ostatni post: Pioro
  Konwertowanie słów na liczby Java Blendow 5 5092 19.08.2017, 21:17
Ostatni post: Szachista
  Wyszukuje wszystkie dzielniki danej liczby n które są liczbami pierwszymi soul1648 2 3804 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
  Liniowa regresja w Pythonie a budowanie modelu Trojan3000 2 1849 16.04.2018 13:26
Ostatni post: Trojan3000
  Początki z bashem - jak napisać skrypty: wysłanie maila i kalkulator? Kristov81 4 5711 21.03.2018 18:32
Ostatni post: Szachista
Ściana Zadanie cmd.... Yanke$ 2 2798 16.03.2018 17:20
Ostatni post: FireBytes
  Poszukuj kogoś do pomocy FireBytes 0 2152 16.03.2018 16:58
Ostatni post: FireBytes
  Wykres Funkcji w Javie wanhelsing 4 3036 17.02.2018 22:27
Ostatni post: wanhelsing
  [SQL]procedura zliczania czasu CTRL85 0 2620 17.02.2018 12:58
Ostatni post: CTRL85
  [VBA Excel] Zaokrąglanie liczby w górę Pioro 2 2779 13.02.2018 21:25
Ostatni post: Pioro
  Sumowanie czasu excel. Cixi 7 2885 13.02.2018 11:52
Ostatni post: Cixi
  Sap i power bi książki Cixi 1 2904 09.02.2018 21:46
Ostatni post: Cixi
  Pomoc w VBA excel Woof 3 3435 19.01.2018 09:36
Ostatni post: Woof
Ściana [CMD] Dwa zadanka które mnie przerosły MihuJ 0 3145 11.01.2018 15:52
Ostatni post: MihuJ
  Czy programowanie jest dla mnie? Co powinienem robić? Kumiku 2 3428 05.01.2018 20:14
Ostatni post: broda99
  SQL zapisanie w rekordzie nazwy zalogowanego użytkownika karlos1323 11 2453 30.12.2017 11:08
Ostatni post: koneton
  Mały algorytm bartek164 3 3563 25.12.2017 10:41
Ostatni post: Szachista
  Git - kompilacja pobranej apki ~Anonim 6 3582 23.12.2017 14:59
Ostatni post: ~Anonim