Maszyna RAM

Odpowiedz Nowy wątek
2018-10-29 22:27
1

cześć,

może ktoś pomóc zapisać w maszynie ram takie zadanie?

Napisz program, który sprawdzi, czy dana liczba jest nietrywialną potęgą, a więc taką liczbą, która jest równa a^n dla pewnych liczb naturalnych a i n>1. W przypadku pozytywnej odpowiedzi, program powinien wypisać 1, w przeciwnym przypadku - 0.

Pozostało 580 znaków

2018-10-29 23:09
1
  1. Liczba wejściowa to x
  2. Iterujesz po liczbach 2...x i szukasz dzielnika, czyli liczby dla której x % i == 0
  3. Następnie dzielisz x przez znaleziony dzielnik i aż nie dojdziesz do 0 i sprawdzasz czy żadne dzielenie nie miało reszty

A tą maszynę RAM serio porzuć, bo to dead end. Serio, do niczego ci sie to nie przyda. Pseudokod, "prawdziwy" asembler albo nawet maszyna turinga będą 100 razy bardziej uzyteczne.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
edytowany 1x, ostatnio: Shalom, 2018-10-29 23:10

Pozostało 580 znaków

2018-10-30 11:34
0

jeszcze chwilę posiedzę w Maszynie:-) ale nie długo

Co do zadania, mogę prosić nieco jaśniej bo nie wiem czy rozumiem.

Wpisuję liczbę.
Robię pętlę, która szuka dzielnika z 0 reszty.
Dzielę moją liczbę przez ten dzielnik tak długo aż nie otrzymam 0 i sprawdzam dzielenia z resztą. (czyli pętla). // Jak sprawdzać kolejne wyniki dzielenia?

Pozostało 580 znaków

2018-10-30 11:56
1

Operacjami mod i div? Albo jeśli nie masz mod to możesz zrobić div a potem sprawdzić czy wynik pomnożony przez dzielnik d iaje liczbę wejściową.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2018-10-30 15:12
0

okej, poddaje się:)
nie wiem jak to zapisać w maszynie :(

Pozostało 580 znaków

2018-11-06 10:45
0

Ostatnie pytanie o Maszynę RAM :-)

Dana jest liczba n (0 ≤ n ≤ 10^15).
Jeżeli n jest sześcianem pewnej liczby całkowitej k, należy wypisać k; w przeciwnym wypadku należy wypisać -1.

Może ktoś coś podpowie? :-)

Pozostało 580 znaków

2018-11-06 10:49
0

(10^15)^(1/3) to raptem 100 000, więc możesz śmiało przeiterować od 1 do 100 000 i sprawdzać czy i^3 = k ;-)


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0