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 Commento

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

Accedi per commentare.

Risposte (2)

Can't you use isprime()?
isprime(7)
ans = logical
1
isprime(4)
ans = logical
0
John D'Errico
John D'Errico il 15 Feb 2023

0 voti

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.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 14 Feb 2023

Commentato:

il 15 Feb 2023

Community Treasure Hunt

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

Start Hunting!

Translated by