DEV Community

Cover image for PYTHON TASKS - 8
G Gokul
G Gokul

Posted on

PYTHON TASKS - 8

Task - sum of 2 prime number is given number

Program:

def find_prime(no):
    div = 2
    while div <= no // 2:
        if no % div == 0:
            return False
        div += 1
    else:
        return True

prime1 = 2
target = int(input("Enter a number:"))
while prime1 <= target // 2:
    prime2 = target - prime1
    result = find_prime(prime2)
    if result == True:
        if prime1 + prime2 == target:
            print(prime1, "+", prime2, "=", target)
    prime1 = prime1 + 1
Enter fullscreen mode Exit fullscreen mode

Output:
Enter a number:68
7 + 61 = 68
9 + 59 = 68
15 + 53 = 68
21 + 47 = 68
25 + 43 = 68
27 + 41 = 68
31 + 37 = 68

Task - Sum of 2 consecutive prime number is given number

Program:

def find_prime(no):
    div = 2
    while div <= no // 2:
        if no % div == 0:
            return False
        div += 1
    else:
        return True

prime1 = 2
target = int(input("Enter a number:"))
i = 1
while i <= target // 2:
    prime2 = prime1 + i
    result = find_prime(prime2)
    if result == True:
        if prime1 + prime2 == target:
            print(prime1, "+", prime2, "=", target)
            break
        else:
            prime1 = prime2
            i = 0
    i += 1
Enter fullscreen mode Exit fullscreen mode

Output:
Enter a number:68
31 + 38 = 68

Task - Express 68 and 128 as sum of two consecutive prime Number.

Program:

def find_prime(no):
    div = 2
    while div <= no // 2:
        if no % div == 0:
            return False
        div += 1
    else:
        return True

j = 0
while (j < 2):
    prime1 = 2
    target = int(input("Enter a number:"))
    i = 1
    while i <= target // 2:
        prime2 = prime1 + i
        result = find_prime(prime2)
        if result == True:
            if prime1 + prime2 == target:
                print(prime1, "+", prime2, "=", target)
                break
            else:
                prime1 = prime2
                i = 0
        i += 1
    j = j + 1
Enter fullscreen mode Exit fullscreen mode

Output:
Enter a number:68
31 + 37 = 68
Enter a number:128
61 + 67 = 128

Task - Express 79 and 104 as the sum of any three primes.(TBD)

Program:

def find_prime(no):
    div = 2
    while div <= no // 2:
        if no % div == 0:
            return False
        div += 1
    else:
        return True

j = 0
while(j < 2):
    prime1 = 2
    target = int(input("Enter a number:"))
    while prime1 <= target // 2:
        prime2 = 2
        while prime2 <= target // 2:
            prime3 = target - prime2 - prime1
            if find_prime(prime1) and find_prime(prime2) and find_prime(prime3):
                print(prime1, "+", prime2, "+", prime3, "=", target)
                break 
            prime2 = prime2 + 1
        prime1 = prime1 + 1
    j += 1
Enter fullscreen mode Exit fullscreen mode

Output:
Enter a number:79
3 + 3 + 73 = 79
5 + 3 + 71 = 79
7 + 5 + 67 = 79
11 + 7 + 61 = 79
13 + 5 + 61 = 79
17 + 3 + 59 = 79
19 + 7 + 53 = 79
23 + 3 + 53 = 79
29 + 3 + 47 = 79
31 + 5 + 43 = 79
37 + 5 + 37 = 79
Enter a number:104
2 + 5 + 97 = 104
5 + 2 + 97 = 104
13 + 2 + 89 = 104
19 + 2 + 83 = 104
23 + 2 + 79 = 104
29 + 2 + 73 = 104
31 + 2 + 71 = 104
41 + 2 + 61 = 104
43 + 2 + 59 = 104

Top comments (4)

Collapse
 
payilagam_135383b867ea296 profile image
Payilagam

Fantastic job!

Collapse
 
g_gokul_ganapathy profile image
G Gokul

Thank you sir

Collapse
 
karthick_07 profile image
Karthick (k)

if not found:
print(target, "cannot be expressed as the sum of two consecutive primes")
Because if target = 7, it gives no output. Task: The sum of 2 consecutive prime numbers is the given number.

Collapse
 
g_gokul_ganapathy profile image
G Gokul

Ok bro ,thanks for your idea, I will change it.