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 11160 13.02.2018, 21:25
Ostatni post: Pioro
  Konwertowanie słów na liczby Java Blendow 5 8616 19.08.2017, 21:17
Ostatni post: Szachista
  Wyszukuje wszystkie dzielniki danej liczby n które są liczbami pierwszymi soul1648 2 6514 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
  Wyszukiwarka w spawnerze nie reaguje na polskie znaki kazik666 0 9818 16.05.2018 12:04
Ostatni post: kazik666
  BASH symulator silnika dawswi1 3 10308 13.05.2018 10:43
Ostatni post: Szachista
  Autohotkey automatyczny zapis TheProgson 0 9925 07.05.2018 21:27
Ostatni post: TheProgson
  VBA Pobieranie wybranych plików z danymi julietta03 1 10206 04.05.2018 08:25
Ostatni post: broda99
  [VBA] Przenoszenie danych między formularzami Pioro 4 10630 23.04.2018 11:48
Ostatni post: broda99
  Skrypt, który szuka i zamienia armen10 2 10150 23.04.2018 10:04
Ostatni post: armen10
  Liniowa regresja w Pythonie a budowanie modelu Trojan3000 2 10311 16.04.2018 13:26
Ostatni post: Trojan3000
  Początki z bashem - jak napisać skrypty: wysłanie maila i kalkulator? Kristov81 4 14118 21.03.2018 18:32
Ostatni post: Szachista
Ściana Zadanie cmd.... Yanke$ 2 11197 16.03.2018 17:20
Ostatni post: FireBytes
  Poszukuj kogoś do pomocy FireBytes 0 9664 16.03.2018 16:58
Ostatni post: FireBytes
  Wykres Funkcji w Javie wanhelsing 4 10562 17.02.2018 22:27
Ostatni post: wanhelsing
  [SQL]procedura zliczania czasu CTRL85 0 9632 17.02.2018 12:58
Ostatni post: CTRL85
  [VBA Excel] Zaokrąglanie liczby w górę Pioro 2 11160 13.02.2018 21:25
Ostatni post: Pioro
  Sumowanie czasu excel. Cixi 7 9795 13.02.2018 11:52
Ostatni post: Cixi
  Sap i power bi książki Cixi 1 9518 09.02.2018 21:46
Ostatni post: Cixi