- Prepare
- All Platforms
- Programming
- Aptitude
- Syllabus
- Interview Preparation
- Interview Exp.
- Off Campus
- Prime Video
- Prime Mock

- Interview Experience
- Prime VideoNew
- Prime Mock
- Discussion Forum
- Nano Degree
- Prime Video
- Prime Mock

Please login

#### Prepinsta Prime

Video courses for company/skill based Preparation

#### Prepinsta Prime

Purchase mock tests for company/skill building

# Prime Time Problem (TCS Codevita)

# Prime Time Problem

Prime Time Problem is a simple coding problem which was asked in one of the sample problem of TCS CodeVita coding competition. TCS organizes this global level coding competition in order to promote Programming-As-a-Sport and in the search of world’s best Coder. This is the solution for the Codevita Question, Prime Time Problem.

## Problem Description

Here on earth, our 24-hour day is composed of two parts, each of 12hours. Each hour in each part has a corresponding hour in the other partseparated by 12 hours: the hour essentially measures the duration sincethe start of the day part. For example, 1 hour in the first part of the day is equivalent to 13, which is 1 hour into the second part of the day.Now, consider the equivalent hours that are both prime numbers.

We have 3 such instances for a 24-hour 2-part day:

- 5~17
- 7~19
- 11~23

Accept two natural numbers D, P >1 corresponding respectively to numberof hours per day and number of parts in a day separated by a space. D should be divisible by P, meaning that the number of hours per part (D/P) should be a natural number. Calculate the number of instances of equivalent prime hours. Output zero if there is no such instance.

**Note** – That we require each equivalent hour in each part in a day to be a prime number.

**Example**:

**Input**:

- 24 2

**Output**:

- 3 (We have 3 instances of equivalent prime hours: 5~17, 7~19 and 11~23.)

**Constraints**:

- 10 <= D < 500
- 2 <= P < 50

**Input**:

- Single line consists of two space separated integers, D and P corresponding to number of hours per day and number of parts in a day respectively.

**Output:**

- Output must be a single number, corresponding to the number of instances of equivalent prime number, as described above

**Time Limit:**

- 1

**Examples**

**Example 1**

**Input**

36 3

**Output**

2

**Explanation**

In the given test case D = 36 and P = 3

Duration of each day part = 12

2~14~X

3~15~X

5~17~29 – instance of equivalent prime hours

7~19~31 – instance of equivalent prime hours

11~23~X

Hence the answers is 2.

**Example 2**

**Input**

49 7

**Output**

0

**Explanation**

Duration of each day part = 7

2~9~X~23~X~37~X

3~X~17~X~31~X~X

5~X~19~X~X~X~47

7~X~X~X~X~X~X

Hence there are no equivalent prime hours.

## Solution for Prime Time Problem

# To check prime you do not need run the loop till N, rather SQRT(N)

import math

def prime(n):

if n == 1:

return False

for i in range(2, int(math.sqrt(n) + 1)):

if n % i == 0:

return False

return True

d, p = map(int, (input().split()))

n = int(d / p)

count = 0

# as 0, 1 not prime so starting from 2

for i in range(2, n):

prime_time = True

for j in range(p):

num = i + j*n

if not prime(num):

prime_time = False

break

if prime_time:

count += 1

print(count)

import math

n = 505

prime_list = [True for i in range(n + 1)]

pr = 2

# Sieve of Eratosthenes

while pr * pr <= n:

if prime_list[pr] == True:

for i in range(pr * 2, n + 1, pr):

prime_list[i] = False

pr += 1

prime_list[0] = False

prime_list[1] = False

d, p = map(int, (input().split()))

n = int(d / p)

count = 0

# as 0, 1 not prime so starting from 2

for i in range(2, n):

prime_time = True

for j in range(p):

num = i + j * n

if not prime_list[num]:

prime_time = False

break

if prime_time:

count += 1

print(count)