Witam.
Mam zadanie, z którym walczę już jakiś czas i nie mogę dać rady:(
Otóż:
muszę zaimplementować metodę NWD (największy wspólny dzielnik) polegającą na rozkładzie liczby na czynniki pierwsze w JAVIE.
Mam już ogólne pojęcie jak powinien wyglądać kod, lecz nie potrafię tego przekuć na konkretne zapisy. Wujek google nic nie pomaga.
Moja koncepcja ogólnie wygląda tak:
Mam trzy liczby - a, b i c.
Dzielę liczbę a przez c (modulo)
jeśli się dzieli bez reszty - dzielę b przez c (modulo)
jeśli się dzieli bez reszty - zapisuję c do tablicy
jeśli się nie dzieli - do liczby c dodaję 1
i robię tak dopóki c stanie się równe a lub c stanie się równe b.
Potem wyciągam z tablicy największą liczbę (która będzie ostatnią zapisaną) i ona będzie tym największym wspólnym dzielnikiem.
public class zadanko {
int nwd (int a, int b) {
int c;
while (a == c | a == b) {
if (a % c == 0) {
if (b % c == 0) {
zapisuję c do tablicy; }
else
c++; }
else
c++;}
segreguję tablicę
wyciągam jej największy element
}
}
Niestety można powiedzieć, że jestem "niepełnosprawna programistycznie" i nie wiem jak stworzyć tablicę i jak zapisywać do niej moje liczby c.
Do tego eclipse wywala mi błąd, że moja liczba b powinna być typu boolean.
Proszę o pomoc - w którym miejscu powinna znaleźć się komenda na utworzenie tablicy, jak do niej zapisywać i proszę o wytknięcie mi wszystkich błędów.