Prompt the user for a number and check whether it is prime or not. Collect these prime numbers and write it to an output text file.

21 vues (au cours des 30 derniers jours)
  1. Define a variable continue_flag to use in the while loop
  2. Also, create an empty vector called prime_numbers
  3. In the while loop, prompt the user for an integer input and determine whether it is a prime number or not
  4. Update the vector prime_numbers accordingly
  5. Also, prompt the user to continue or terminate the session and update the continue_flag variable accordingly
  6. Write the prime_numbers to an output file called prime_numbers_output.txt or a file of choice
  3 commentaires
Sagar
Sagar le 9 Nov 2022
c_flag=1;
prime_numbers = [];
while (c_flag==1)
x = input('Enter Number: ');
if isprime (x) == 1
disp (['x is a prime number with value: ',num2str(x)]);
else
disp (['x is not a prime number with value: ',num2str(x)]);
end
c_flag=input('Enter 1 to continue or 0 to terminate: ');
end
writematrix(prime_numbers,'prime_numbers_op.txt')
Sagar
Sagar le 9 Nov 2022
The above program i've written is working but in last, all the prime numbers are not saving in output text file

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 9 Nov 2022
Modifié(e) : Jan le 9 Nov 2022
Your code does not collect the prime numbers. Add this in the branch, where a prime number is identified:
prime_numbers = [prime_numbers, x];
or
prime_numbers(end + 1) = x;
By the way, you do not have to compare a logical values by ==1 to convert it to a logical value. This is enough alreaedy:
if isprime(x)
...
end

Plus de réponses (1)

Image Analyst
Image Analyst le 25 Déc 2022
@Sagar some improvements to your code are below:
prime_numbers = [];
loopCounter = 1;
maxIterations = 20;
x = 1;
while (x ~= 0) && loopCounter < maxIterations
x = input('Enter Number (0 to terminate) : ');
prime_numbers(loopCounter) = x;
loopCounter = loopCounter + 1;
if isprime(x) == 1
disp (['x is a prime number with value: ',num2str(x)]);
else
disp (['x is not a prime number with value: ',num2str(x)]);
end
end
writematrix(prime_numbers,'prime_numbers_op.txt')
winopen('prime_numbers_op.txt')

Community Treasure Hunt

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

Start Hunting!

Translated by