Prime numbers from 2 till hundred?

2 次查看(过去 30 天)
Ahmad Omar
Ahmad Omar 2021-11-10
回答: Rushil 2025-1-29
How to use control flow statements that returns all the prime numbers from 2 till hundred?
  6 个评论
Steven Lord
Steven Lord 2021-11-10
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.]
Jan
Jan 2021-11-11
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?

请先登录,再进行评论。

回答(1 个)

Rushil
Rushil 2025-1-29
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

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by