while loops and prime numbers

8 visualizaciones (últimos 30 días)
Edgar
Edgar el 14 de Feb. de 2023
Comentada: Dyuman Joshi el 15 de Feb. de 2023
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 comentario
Dyuman Joshi
Dyuman Joshi el 15 de Feb. de 2023
What is the purpose of the variable 'nInteger'? Is it to denote a prime number has been found?

Iniciar sesión para comentar.

Respuestas (2)

Matt J
Matt J el 14 de Feb. de 2023
Can't you use isprime()?
isprime(7)
ans = logical
1
isprime(4)
ans = logical
0

John D'Errico
John D'Errico el 15 de Feb. de 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.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by