Computer Science, asked by prsaikishore, 8 months ago

Problem Description Given two numbers n1 and n2 1. Find prime numbers between n1 and n2, then 2. Make all possible unique combinations of numbers from the prime numbers list you found in step 1. 3. From this new list, again find all prime numbers. 4. Find smallest (a) and largest (b) number from the 2nd generated list, also count of this list. 5. Consider smallest and largest number as the 1st and 2nd number to generate Fibonacci series respectively till the count (number of primes in the 2nd list). 6. Print the last number of a Fibonacci series as an output

Answers

Answered by danishbansal
5

Answer:

import math

import itertools

def check_prime(combinations):

   prime_list2=[]

   for num in combinations:

       for i in range(2, math.floor(math.sqrt(num))+1):

           if (num % i) == 0:

               break

       else:

           prime_list2.append(num)            

   return list(set(prime_list2))

       

def find_prime_numbers(lower,upper):

   prime_numbers=[]

   for num in range(lower, upper + 1):

       for i in range(2, math.floor(math.sqrt(num))+1):

           if (num % i) == 0:

               break

       else:

           prime_numbers.append(num)

   return list(set(prime_numbers))

def get_combinations(prime_numbers):

   combinations=[]

   combo=set(itertools.permutations(prime_numbers,2))

   for a,b in combo:

       combinations.append(int("{}{}".format(a,b)))

   return set(combinations)

def make_fibbonacci(no1,no2,count):

   fib=[no1,no2]

   for i in range(count-2):

       fib.append(fib[i]+fib[i+1])

   return fib[-1]

a,b=(int(i) for i in input().split())

if abs(a-b)>=35 and a>=1 and b<=100:

   prime_numbers=find_prime_numbers(a,b)

   combinations=get_combinations(prime_numbers)

   prime_list2=check_prime(combinations)

   print(make_fibbonacci(min(prime_list2),max(prime_list2),len(prime_list2)))

Explanation:

Read it

Answered by poojan
1

Answer:

Language used : Python Programming

I have attached the captures of the program and it's execution below, to show you the execution

Procedure:

First we will be taking two input parameters x and y and will be forming a list of prime numbers between the two (x&y).

On creating the list, we will make combinations of the numbers in the list and make the whole as a list 2. On forming the second list, we will again form a list of primes from the list 2 and find min and max elements of those primes.

On finding the min and max elements, make a fibanocci series starting from min, max elements and find the nth term of the series, where n is the length of the new prime list formed from list 2.

The nth term of the series will be your output.

Test cases:

Test case 1:

Input 1 : 2 40

Output 1 : 13158006689

Test case 2:

Input 2: 30 70

Output 2: 2027041

Explanation of a test case:

Let the numbers inputted be 2 40

First list, i.e, primes between the two is [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]

Using this list, we make combinations of numbers and form another list as in Combination of all the primes = [23, 25, 27, 211, 213, 217, 219, 223, 229, 231, 32, 35, 37, 311, 313, 319, 323, 329, 331, 337, 52, 53, 57, 511, 513, 517, 519, 523, 529, 531, 537, 72, 73, 75, 711, 713, 717, 719, 723, 729, 731, 737, 112, 113, 115, 117, 1113, 1117, 1119, 1123, 1129, 1131, 1137, 132, 133, 135, 137, 1311, 1317, 1319, 1323, 1329, 1331, 1337, 172, 173, 175, 177, 1711, 1713, 1719, 1723, 1729, 1731, 1737, 192, 193, 195, 197, 1911, 1913, 1917, 1923, 1929, 1931, 1937, 232, 233, 235, 237, 2311, 2313, 2317, 2319, 2329, 2331, 2337, 292, 293, 295, 297, 2911, 2913, 2917, 2919, 2923, 2931, 2937, 312, 315, 317, 3111, 3113, 3]

And the prime list from the list 2 is prime list=[193, 3137, 197, 2311, 3719, 73, 137, 331, 523, 1931, 719, 337, 211, 23, 1117, 223, 1123, 229, 37, 293, 2917, 1319, 1129, 233, 173, 3119, 113, 53, 373, 311, 313, 1913, 1723, 317]  

Minimum element = 23

Maximum element = 3719

As the length of the prime list is 34 (34 elements are present in the prime list), we need to find the 34th element on stating the fibanocci sequence with 23 and 3719

As in, 23, 3719, 3742 (23+3719), 7461 (3742+3719), ......, 13158006689 (the 34th term of the series)

So, the output is 13158006689

Program:

x,y=input().split(" ")

l1=[]

l2=[]

def primeornot(i):

   if i==1:

       return False

   elif i==2:

       return True

   else:

       for j in range(2,i):

           if i%j==0:

               return False

       return True

x=int(x)

y=int(y)

if x>=2 and y<=100 and abs(x-y)>=35:

 for i in range(x,y+1):

   if(primeornot(i)==True):

       l1.append(i)

for i in range(len(l1)):

   for j in range(len(l1)):

       if i!=j:

           l2.append(int(str(l1[i])+str(l1[j])))

l1.clear()

for i in l2:

   if primeornot(i)==True:

       if i not in l1:

           l1.append(i)

l2.clear()

mini=min(l1)

maxi=max(l1)

nextterm=0

lengthoffib=len(l1)-2

l1.clear()

while(lengthoffib!=0):

   nextterm=mini+maxi

   mini=maxi

   maxi=nextterm

   lengthoffib=lengthoffib-1

print(nextterm)

That's it, pops. Thank you!

Attachments:
Similar questions