Prime numbers from 2 till hundred?

How to use control flow statements that returns all the prime numbers from 2 till hundred?

6 Comments

What exactly are "control flow statements"?
"for" and "if" and "elseif" and "while" and "break" and "continue" are control-flow statements, along with "switch" and "case"
@Ahmad Omar: This sounds like a homework question. As usual: Please post, what you have tried so far and ask a specific question.
I'd classify most if not all of the functions in the Loops and Conditional Statements category in the documentation as control-flow statements. [return, parfor, and otherwise are the main additions to Walter's list. I mainly wanted to point out the existence of the category documentation pages.]
Is the question meaningful? Is it possible to calculate prime numbers with control flow statements only, or without control flow statements? Maybe a flow chart is meant?

Sign in to comment.

Answers (1)

Hi Ahmad
I believe that this task can be accomplished using a sieve of eratosthenes using control flow statements like for/if/continue etc. The sieve works in O(n log logn) time, which is usually fast enough for small values of “n” (in this case n=100). Below is the implementation of the algorithm, it stores all the prime numbers in the array “prime”:
n = 100; % range of numbers is [2,n]
prime = [];
is_pr = ones(1,n);
for i=2:n
if ~is_pr(i)
continue
end
prime = [prime i];
for j=2*i:i:n
is_pr(j) = 0;
end
end
prime
Since the task is concerned with using control flow statements, the above code finds all the primes in [2,n]. However, a more optimised approach may be to use the MATLAB function “primes”. You can read more about it here:
Hope it helped.
larush

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 10 Nov 2021

Answered:

on 29 Jan 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!