while loops and prime numbers

hey guys, i am having trouble with a program that is supposed to keep generating a random number from 1 to 100 until it is prime. if its not then it will use a counter for the numbers that are not prime.
this is what I have so far, i just can't figure out what to put for the beginning next to the while and the if without it bugging.
any suggestions are helpful, thank you.
nInteger = 0;
random = randi(100);
while
if
nInteger = nInteger + 1;
end
end

1 Comment

What is the purpose of the variable 'nInteger'? Is it to denote a prime number has been found?

Sign in to comment.

Answers (2)

Can't you use isprime()?
isprime(7)
ans = logical
1
isprime(4)
ans = logical
0
John D'Errico
John D'Errico on 15 Feb 2023
First, create a list of all the primes that are less than 100. Save them. You can use either the function primes to do this, or just use a fast sieve to do that job.
Now generate random integers between 1 and 100. Test to see if they are in the list of primes. Stop when you find a prime.
Done.

Categories

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

Tags

Asked:

on 14 Feb 2023

Commented:

on 15 Feb 2023

Community Treasure Hunt

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

Start Hunting!