malyglod  Dołączył: 11 Lip 2007
Informatyk/matematyk/programista poszukiwany..
Jestem zdesperowany (muszę zdążyć z oddaniem projektu przed końcem sesji poprawkowej ;) ) i szukam jakiejkolwiek pomocy..

Mam problem z ułożeniem pewnej formułki w Excelu.

Układam arkusz z algorytmem asymetrycznym RSA. I w pewnym kroku muszę obliczyć:

X dla którego NWD(X,a)=1 , gdzie a mamy wprowadzone do arkusza. Inaczej rzecz biorąc muszę obliczyć liczbę względnie pierwszą wobec zmiennej a.

Czy uda się to zrobić?
Jakiekolwiek wskazówki z Waszej strony?

Tu jest rozpisany algorytm, który muszę ułożyć: http://www.eioba.pl/a2324...ze_algorytm_rsa

Dzięki za uwagę :)
 

Ganz  Dołączył: 30 Kwi 2007
dawno, dawno temu pisałem zaliczenie z RSA (ale klucz ograniczony bodajże do 5cyfr) i było to chyba w C++. Pomoże?szukać?
 

Jarek Dabrowski  Dołączył: 20 Kwi 2006
malyglod napisał/a:
X dla którego NWD(X,a)=1 , gdzie a mamy wprowadzone do arkusza. Inaczej rzecz biorąc muszę obliczyć liczbę względnie pierwszą wobec zmiennej a.
Ale ja czegoś nie rozumiem, takich liczb względnie pierwszych wobec "a" może być więcej. Z przytoczonego przez Ciebie linku wynika też, że ta liczba ma być mniejsza od "a".
Na chłopski rozum - to o ile a>1, to x=a-1. a i a-1 będą względnie pierwsze (ich NWD będzie równy 1) Np. 101 i 100, 2354234 i 2354233

A matematycznie/algorytmicznie, to by było tak:

za Wikipedią (algorytm Euklidesa)
funkcja NWD(a, b)
{
dopóki b != 0
{
c := a mod b
a := b
b := c
}
zwróć a
}

i teraz pętla:

b od a-1 do 1
{
x := NWD(a, b)
jesli x = 1 to zwróć b i przerwij pętlę
}

o rany, jak to beznadziejnie po polsku wygląda...

tylko, po mojemu to właśnie przy pierwszym wykonaniu (a-1) warunek zostanie spełniony i będziesz miał wynik.

Możliwe też, że bredzę.
 

malyglod  Dołączył: 11 Lip 2007
Dzięki, spróbuję teraz pokombinować :)

Owszem, takich liczb jest nieskończenie wiele. Ale algorytm w excelu wymaga wylosowania jednej z nich. Wybaczcie, że nie sprostowałem.
 

mumonzan  Dołączył: 23 Kwi 2007
Nie wiem czy uda ci się to ubrać w formułę. W VBA na pewno możesz to sobie zapisać, ale wtedy musiałby być guzik do kliknięcia wywołujący makro.

Wyświetl posty z ostatnich:
Skocz do:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach