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 visualizzazioni (ultimi 30 giorni)
  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 Commenti
Sagar
Sagar il 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 il 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

Accedi per commentare.

Risposta accettata

Jan
Jan il 9 Nov 2022
Modificato: Jan il 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

Più risposte (1)

Image Analyst
Image Analyst il 25 Dic 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