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 commentaire

Dyuman Joshi
Dyuman Joshi le 15 Fév 2023
What is the purpose of the variable 'nInteger'? Is it to denote a prime number has been found?

Connectez-vous pour commenter.

Réponses (2)

Matt J
Matt J le 14 Fév 2023
Can't you use isprime()?
isprime(7)
ans = logical
1
isprime(4)
ans = logical
0
John D'Errico
John D'Errico le 15 Fév 2023

0 votes

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.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Tags

Question posée :

le 14 Fév 2023

Commenté :

le 15 Fév 2023

Community Treasure Hunt

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

Start Hunting!

Translated by