"Enter"a basıp içeriğe geçin

C Programlama Örnek Vize Sorusu #9

Problem :Luhn algoritmasını yani kredi kartı doğrulama algoritmasını c programlama dilinde kodlayınız.

Luhn Algoritması Nasıl Çalışır ?

Hans Peter Luhn adlı bir bilim adamı tarafından bulunan bu algoritmayı bir örnekle açıklamaya çalışalım.Diyelim kredi kartı numaranız aşağıda ki gibi olsun.

3254 3298 2853 1293

  • Çift haneler yani 2-4-6-8-10-12-14-16.hanede ki sayılar toplanır.
  • Tek hanelerde ki sayılarsa ikiyle çarpılır.Ardından bu sayıların rakamları toplanır.

Kısaca yukarı da verdiğimiz örnek üzerinden yapmak gerekirse

  • Önce çift haneleri toplayalım.

2+4+2+8+8+3+2+3 = 32

  • Tek hanede ki rakamları 2’ye çarparak sonuç olarak çıkan sayıların tekrardan rakamlarını toplayalım.

3×2 = 6         5×2 = 10          3×2= 6       9×2 = 18     2×2 = 4     5×2 = 10     1×2 = 2       9×2 = 18

Şimdi bu sayıların rakamlarını toplayalım.

6 + 1 + 0 + 6 + 1 + 8 + 4 + 1 + 0 + 2 + 1 + 8 = 38

Çift hanede ki rakamlara uygulanan işlem sonrası sonuç = 32

Tek hanede ki rakamlara uygulanan işlem sonrası sonuç = 38

  • Çift ve tek hanelere uygulanan işlem sonucu elde ettiğimiz 2 farklı sayıyı toplayıp 10’a göre mod alıyoruz.Eğer ki kalan sıfırsa yani 10’a tam bölünüyorsa kredi kartı numarası doğrudur.

32 + 38 = x(mod10)     x 0’a eşit olduğundan görüldüğü gibi bu kredi kartı numarası doğrudur.

 

Please follow and like us:
RSS
Follow by Email
Facebook
Google+
http://emreaslan.net/c-programlama-ornek-vize-sorusu-9/
Twitter
Tarafımızca Değerlendirildi.

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.