📖 Scenario: You are building a simple tool to check if a number is prime. Prime numbers are numbers greater than 1 that have no divisors other than 1 and themselves. This tool will help users quickly find out if a number is prime or not.
🎯 Goal: Build a TypeScript program that checks if a given number is prime by testing divisibility from 2 up to the number minus one.
📋 What You'll Learn
Create a variable called num with the value 29
Create a variable called isPrime and set it to true
Use a for loop with variable i from 2 to num - 1 to check divisibility
If num is divisible by i, set isPrime to false and break the loop
Print "29 is prime" if isPrime is true, otherwise print "29 is not prime"
💡 Why This Matters
🌍 Real World
Prime number checks are important in cryptography, computer security, and algorithms that rely on prime numbers.
💼 Career
Understanding prime checks helps in roles involving algorithm design, security software, and technical interviews.
Progress0 / 4 steps
1
Create the number variable
Create a variable called num and set it to 29.
DSA Typescript
Hint
Use const to create the variable num and assign it the value 29.
2
Create the prime flag variable
Create a variable called isPrime and set it to true.
DSA Typescript
Hint
Use let to create isPrime because its value will change later.
3
Check divisibility with a for loop
Use a for loop with variable i from 2 to num - 1 to check if num is divisible by i. If it is, set isPrime to false and use break to stop the loop.
DSA Typescript
Hint
Loop from 2 to one less than num. Use the modulus operator % to check divisibility.
4
Print the result
Print "29 is prime" if isPrime is true, otherwise print "29 is not prime".
DSA Typescript
Hint
Use an if statement to check isPrime and print the correct message with console.log.
Practice
(1/5)
1. What does it mean for a number to be prime?
easy
A. It is divisible by 2 only.
B. It has more than two divisors.
C. It is an even number greater than 2.
D. It has exactly two distinct positive divisors: 1 and itself.
Solution
Step 1: Understand the definition of prime number
A prime number is a number greater than 1 that has no divisors other than 1 and itself.
Step 2: Compare options with the definition
Only It has exactly two distinct positive divisors: 1 and itself. correctly states this definition.
Final Answer:
It has exactly two distinct positive divisors: 1 and itself. -> Option D
Quick Check:
Prime number = two divisors [OK]
Hint: Prime means only divisible by 1 and itself [OK]
Common Mistakes:
Thinking even numbers are always prime
Confusing prime with odd numbers
Believing prime numbers have multiple divisors
2. Which of the following TypeScript function signatures correctly checks if a number is prime?
easy
A. function isPrime(n: boolean): string
B. function isPrime(n: string): number
C. function isPrime(n: number): boolean
D. function isPrime(): void
Solution
Step 1: Identify correct parameter and return types
The function should take a number and return a boolean indicating prime or not.
Step 2: Match options with correct signature
function isPrime(n: number): boolean matches: input number, output boolean.
Final Answer:
function isPrime(n: number): boolean -> Option C
Quick Check:
Input number, output boolean [OK]
Hint: Input number, output true/false for prime [OK]
Common Mistakes:
Using wrong input types like string or boolean
Returning wrong types like number or void
Missing function parameters
3. What will be the output of the following TypeScript code?
function isPrime(n: number): boolean {
if (n <= 1) return false;
for (let i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) return false;
}
return true;
}
console.log(isPrime(11));
medium
A. true
B. false
C. undefined
D. SyntaxError
Solution
Step 1: Check input and initial condition
Input is 11, which is greater than 1, so continue checking.
Step 2: Loop from 2 to sqrt(11) ≈ 3.3
Check divisibility by 2 and 3. 11 % 2 != 0 and 11 % 3 != 0, so no divisor found.
Final Answer:
true -> Option A
Quick Check:
11 is prime = true [OK]
Hint: Check divisors up to square root only [OK]
Common Mistakes:
Checking divisors beyond sqrt(n)
Returning true too early
Not handling n <= 1 correctly
4. Identify the error in this TypeScript function to check prime numbers:
function isPrime(n: number): boolean {
if (n < 2) return false;
for (let i = 2; i < n / 2; i++) {
if (n % i === 0) return false;
}
return true;
}
medium
A. Loop should run until i <= Math.sqrt(n) for efficiency
B. Return type should be number, not boolean
C. Loop should run until i <= n / 2, not i < n / 2
D. Condition if (n < 2) should be if (n <= 1)
Solution
Step 1: Identify the logic error in loop condition
The loop uses i < n / 2. For n=4, n/2=2, i=2 < 2 false; loop skips check for 2, returns true (but 4 not prime).
Step 2: Correct the loop bound
For efficiency and correctness, the loop should run until i <= Math.sqrt(n) instead of n/2.
Final Answer:
Loop should run until i <= Math.sqrt(n) for efficiency -> Option A
Quick Check:
Loop bound to sqrt(n) is optimal and correct [OK]
Hint: Loop to i <= sqrt(n) for efficient prime check [OK]
Common Mistakes:
Using i < n/2 instead of i <= n/2 in loop
Wrong return type
Incorrect boundary condition for n
5. You want to find all prime numbers between 10 and 20 using this function:
function isPrime(n: number): boolean {
if (n <= 1) return false;
for (let i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) return false;
}
return true;
}
Which of the following arrays correctly lists these primes?