DEV Community

Kiruthiga S
Kiruthiga S

Posted on

Python

Euclidean Algorithm
Simple method to find the HCF/GCD (Highest Common Factor) of two numbers

def hcf(a, b):
    while b != 0:
        a, b = b, a % b
    print("HCF =", a)
a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
hcf(a, b)
Enter fullscreen mode Exit fullscreen mode

Output:
Enter first number: 12
Enter second number: 24
HCF = 12

Luhu Algorithm - Credit Card Validation

def check(card):
    total = 0
    count = 0
    while card > 0:
        digit = card % 10
        if count % 2 == 1:
            digit = digit * 2
            if digit > 9:
                digit = digit - 9
        total = total + digit
        card = card // 10
        count = count + 1
    if total % 10 == 0:
        print("Valid")
    else:
        print("Invalid")
card = int(input("Enter card number: "))
check(card)
Enter fullscreen mode Exit fullscreen mode

Output:
Enter card number: 1234567890
Invalid

Pan Card Validation

def pan_check(pan):
    if len(pan) != 10:
        print("Invalid PAN")
        return
    i = 0
    while i < 5:
        if not pan[i].isalpha():
            print("Invalid PAN")
            return
        i += 1
    i = 5
    while i < 9:
        if not pan[i].isdigit():
            print("Invalid PAN")
            return
        i += 1
    if not pan[9].isalpha():
        print("Invalid PAN")
    else:
        print("Valid PAN")
pan = input("Enter PAN: ")
pan_check(pan)
Enter fullscreen mode Exit fullscreen mode

Output:
Enter PAN: ABCDE1234F
Valid PAN

Aadhaar Card Validation

def aadhaar_check(aadhaar):
    if len(aadhaar) != 12:
        print("Invalid Aadhaar")
        return
    count = 0
    while count < 12:
        if not aadhaar[count].isdigit():
            print("Invalid Aadhaar")
            return
        count += 1
    print("Valid Aadhaar")
aadhaar = input("Enter Aadhaar number: ")
aadhaar_check(aadhaar)
Enter fullscreen mode Exit fullscreen mode

Output:
Enter Aadhaar number: 123456789045
Valid Aadhaar

Top comments (0)