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 次查看(过去 30 天)
显示 更早的评论
- Define a variable continue_flag to use in the while loop
- Also, create an empty vector called prime_numbers
- In the while loop, prompt the user for an integer input and determine whether it is a prime number or not
- Update the vector prime_numbers accordingly
- Also, prompt the user to continue or terminate the session and update the continue_flag variable accordingly
- Write the prime_numbers to an output file called prime_numbers_output.txt or a file of choice
采纳的回答
Jan
2022-11-9
编辑:Jan
2022-11-9
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
0 个评论
更多回答(1 个)
Image Analyst
2022-12-25
@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')
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Number Theory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!