algorytm.org

Test parzystości



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Test parzystości
Ocena użytkowników:***** / 83
SłabyŚwietny 
Wpisany przez Michał Witaszek, 11 lipca 2011 13:24

Liczbę nazywamy parzystą, gdy możemy podzielić ją bez reszty przez dwa. Czyli liczba a jest parzysta, gdy reszta z dzielenia a przez 2 wynosi 0. W praktyce oznacza to że, by określić czy liczba a jest parzysta wystarczy sprawdzić czy spełnia warunek: a mod 2 = 0, co można przedstawić za pomocą następującego schematu blokowego:
schemat blokowy - test parzystości

Działanie operacji modulo można zobrazować następująco:
25 mod 2 = 1
Ponieważ:
25 / 2 = 12.5,
12.5 bez reszty to 12 (25 div 2 = 12),
25 – (12*2) = 1,
W 25 mieszczą się dwie pełne dwunastki i zostaje 1,
Reszta z dzielenia 25/2 wynosi 1.

Przykład:

Czy liczba 25 jest parzysta?
25 mod 2 = 1
25 nie jest liczbą parzystą.

Czy liczba 38 jest parzysta?
38 mod 2 = 0
38 jest liczbą parzystą.

Czy 0 jest liczbą parzystą?
0 mod 2 = 0
Nasz program uzna że 0 jest liczbą parzystą.

Uwaga:
W niektórych językach programowania (jak np. C++ ) do operacji modulo używa się symbolu %. Więc a mod 2 w C++ zapisujemy a % 2.

Przykład w JavaScript
Podaj liczbę:



Implementacje
AutorJęzyk
programowania
KomentarzOtwórzPobierzOcena
Bartosz BednarczykC#
.cs
.cs
***** / 21
Michał WitaszekC/C++
.cpp
.cpp
***** / 14
Adam CZC/C++C++, funkcja obliczająca wynik
.cpp
.cpp
***** / 2
Michał WitaszekDelphi/Pascal
.pas
.pas
***** / 3
Bartosz BednarczykJava
.java
.java
***** / 11
Dominik GoździukJavaScript
.js
.js
***** / 17
Tomasz LubińskiJava_Block
.jbf
.jbf
***** / 0
Dominik GoździukPerl
.pl
.pl
***** / 3
Dominik GoździukPhp
.php
.php
***** / 6
Nikodem SolarzRuby2 metody sprawdzające
.rb
.rb
***** / 0
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język
programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie

Poprawiony: 12 marca 2012 20:24
Komentarze
photo
-1 # konsola1996 2012-01-15 20:25
Witam. Mam pytanie treść mojego polecenia brzmi
"Za pomocą schematu blokowego przedstaw algorytm, wypisywania wszystkich liczb nieparzystych od 1 do 30 w kolejności od największej do najmniejszej"

Jest to na stronie :

http://www.kostka.jezuici.pl/tmp/2010/Rejon_teoria.pdf i karta 7

A ja stąd dzięki Michałowi Witaszkowi mam część zadania, ale jak zrobic dalszą część czyli posortować od największej do najmiejszej?

Z góry dzięki za Odpowiedz!
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
0 # Witamaster 2012-01-16 20:19
Na serwisie znajduje się cały dział poświęcony różnym metodom sortowania.
www.algorytm.org/algorytmy-sortowania/

Najprostszą jest chyba sortowanie bąbelkowe: www.algorytm.org/algorytmy-sortowania/sortowanie-babelkowe-bubblesort.html
Jeśli chcesz posortować dane "w dół" wykonaj opisany algorytm "odwrotnie" ;)
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
+2 # Tomasz Lubiński 2012-01-17 08:45
Ależ kombinujecie. Wynikiem jest oczywiście ciąg liczb: 29, 27, 25, 23, ...
Widać tu prawidłowość że liczby nieparzyste występują co dwa, a więc zapisując rozwiązanie w pseudokodzie otrzymamy:

i = 29 //zaczynamy od 29
dopoki (i >= 1) { // konczymy na 1
  wypisz(i) // wypiszujemy aktualna wawrtosc i
  i = i - 2; // zmniejszamy i o 2
}

Wszystko, żadnego sortowania...
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
-2 # frotyl 2012-03-28 08:18
W przykładzie java script nie masz sprawdzania przekroczenia zakresu wprowadzonej zmiennej?
dla liczby 1231321809308120938902181 podaje że jest parzysta ;)
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
-2 # steficzek 2014-12-10 22:30
W większości języków jest wbudowana funkcja "Odd" zwracająca True lub False.

Czyli całość powyżej jest potrzebna jak pisanie funkcji Dodaj(a,b)
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz