11.03.2018, 17:02
(Ten post był ostatnio modyfikowany: 11.03.2018, 19:06 przez raistin.)
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
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
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);
}
}
}
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