DEV Community

Keerti Sadana S
Keerti Sadana S

Posted on

PYTHON - LOOPS 9

Perfect Numbers:

no = 6
total = 1
div = 2
while div<no:
    if no%div == 0:
        total += div
    div += 1
else:
    if total == no:
        print ('Perfect Number')
    else:    
        print ('Not a Perfect Number')
Enter fullscreen mode Exit fullscreen mode

Output:
Perfect Number

Prime and Composite Numbers between 1 and 31:

no = 2
print('Composite Numbers:')
while no < 31:
    div = 2
    while div<=no//2:
        if no%div == 0:
            print(no,end = ' ')
            break
        div+=1
    no+=1

print('\n')

no = 2
print('Prime Numbers:')
while no < 31:
    div = 2
    while div<=no//2:
        if no%div == 0:
            break
        div+=1
    else:
        print(no,end=' ')
    no+=1
Enter fullscreen mode Exit fullscreen mode

Output:
Composite Numbers:
4 6 8 9 10 12 14 15 16 18 20 21 22 24 25 26 27 28 30

Prime Numbers:
2 3 5 7 11 13 17 19 23 29

Sum of two consecutive prime numbers:

def is_prime(no):
    div = 2
    while div <= no//2:      
        if no % div == 0:
            return False
        div+=1
    else:
        return True
no = 42
prime1 = 2
while (prime1<no):
    prime2 = prime1 + 1
    while not is_prime(prime2):
        prime2 += 1
    if prime1+prime2 == no:
        print (f'{prime1} + {prime2} = {no}')
        break
    prime1 = prime2
Enter fullscreen mode Exit fullscreen mode

Output:
19 + 23 = 42

Sum of three consecutive prime numbers:

def is_prime(no):
    div = 2
    while div <= no//2:      
        if no % div == 0:
            return False
        div+=1
    else:
        return True
no = 31
prime1 = 2
while (prime1<no):
    prime2 = prime1 + 1
    while not is_prime(prime2):
        prime2 += 1
    prime3 = prime2 + 1
    while not is_prime(prime3):
        prime3 += 1
    if prime1+prime2+prime3 == no:
        print (f'{prime1} + {prime2} + {prime3} = {no}')
        break
    prime1 = prime2
    prime2 = prime3
Enter fullscreen mode Exit fullscreen mode

Output:
7 + 11 + 13 = 31

Divisible by 2:

no = 234
if (no%10)%2 == 0:
    print ('Divisible by 2')
Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 2

Divisible by 3:

no = 654321
total = 0
while no>0:
    total += no%10
    no//=10
if total%3 == 0:
    print('Divisible by 3')
Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 3

Divisible by 4:

no = 124
if (no%100)%4 == 0:
    print ('Divisible by 4')
Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 4

Divisible by 5:

no = 35
if no%10 in (0,5):
    print ('Divisible by 5')
Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 5

Divisible by 6:

no = 138
if (no%10)%2 == 0 and (no%10 + no//10)%3 == 0:
    print ('Divisible by 6')
Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 6

Divisible by 8:

no = 2992
if (no%1000)%4 == 0:
    print ('Divisible by 8')
Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 8

Divisible by 9:

no = 9567
total = 0
while no>0:
    total += no%10
    no//=10
if total%3 == 0 and total%9 == 0:
    print('Divisible by 9')
Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 9

Divisible by 10:

no = 30
if no%10 == 0:
    print ('Divisible by 10')

Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 10

Divisible by 11:

no = 256795
odd_position = 0
even_position = 0
position = 1
while no > 0:
    if position % 2 != 0:
        odd_position += no%10
    else:
        even_position += no%10  
    no //= 10  
    position += 1  

if odd_position - even_position == 0:
    print('Divisible by 11')
Enter fullscreen mode Exit fullscreen mode

Output:
Divisible by 11

Top comments (0)