Wpis z mikrobloga

Hejka, pomyślałem, że fajnie byłoby mieć coś takiego jak /r/dailyprogrammer na wykopie i będę sobie wrzucał ciekawsze zadania, które samemu udało mi się wykonać i zachęcam do tego innych oczywiście. Jak komuś się nie podoba to proszę dać na czarno #programujemy. Oczywiście fajnie byłoby zobaczyć jak wy rozwiązaliście to zadanko także dawajcie w komentarzu rozwiązania lub link do niego np. na GH ;)

[EASY] Credit card checker
Twoim zadaniem jest przyjęcie od usera numeru karty kredytowej i zwróceniu użytkownikowi informacji o dostawcy karty, masz 4 możliwe outputy:

1. AMEX - karta american express zakładamy, że składa się z 15 liczb.
2. MCARD - mastercard składa się z 16 liczb.
3. VISA - może się składać z 13 lub 16 liczb.
4. INVALID - podana karta nie spełnia żadnych wymagań.

Podstawowe założenia
1. Każdy dostawca karty ma swoje ID na początku numeru karty

- AMEX 34 lub 37
- MCARD 51,52,53,54,55
- VISA pierwsza liczba to 4

2. Dodatkowo o poprawności numeru karty kredytowej świadczy suma kontrolna (checksum). W tym celu będziesz wykorzystywał algorytm Luhna warunki tego algorytmu to:

- Poruszamy się po liczbach od prawej do lewej, każdą drugą liczbę pomnóż przez 2
- Sumę liczb pomnożonych przez dwa dodaj do sumy reszty liczb
- Suma kontrolna jest poprawna jeżeli sumaWszystkichLiczb modulo 10 jest równa 0
Przykład

$ ./credit_checker 4003600000000014
VISA

Do testowania

378282246310005 => AMEX
5555555555554444 => MCARD
4012888888881881 => VISA
369421438430814 => INVALID
371449635398431 => AMEX
5105105105105100 => MCARD
4111111111111111 => VISA
5673598276138003 => INVALID


#programowanie #informatyka
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach