how do i check if a number is a prime number, a square, and or a factor of 6?

12 views (last 30 days)
here is the current idea for the code so far
integer = 4;
if % ** check if integer is a prime **
Prime = integer % => If condition is met
elseif % ** check if the number is square **
Square = integer % => Else condition is met
elseif % chekc if divisible by 6
Factorof6=integer
end
  3 Comments
Walter Roberson
Walter Roberson on 5 Jan 2023
https://www.mathworks.com/matlabcentral/answers/514501-how-do-i-check-if-a-number-is-a-prime-number-a-square-and-or-a-factor-of-6#comment_819187
DGM
DGM on 5 Jan 2023
Edited: DGM on 5 Jan 2023
Since the core answers are all basically already on this page, I'll just add that logical indexing, implicit casting, and implicit expansion can make this tidy.
x = 100:999; % a set of numbers as a row vector
issquare = ~mod(sqrt(x),1); % implicit binarization
ismultiple = ~mod(x,[2; 3; 5]); % implicit expansion
validnums = issquare & ~any(ismultiple,1); % logical combination of masks
x(validnums) % logical indexing
ans = 1×7
121 169 289 361 529 841 961
Now you have to make a function out of it.

Sign in to comment.

Accepted Answer

Birdman
Birdman on 1 Apr 2020
n=4;
%check if number is prime
isprime(n) %returns logical value
%check if number is square
mod(numel(factor(n)),2)==0 %returns logical value
%check if number is divisible by 6
mod(n,6)==0 %returns logical value
  7 Comments
Torsten
Torsten on 15 Oct 2022
Edited: Torsten on 15 Oct 2022
2*3 = 6, and 6 is not a square.
Yes, the answer given is incorrect.
mod(numel(factor(a)),2)==0 is not sufficient for "a" to be a square.
Walter Roberson
Walter Roberson on 16 Oct 2022
https://www.mathworks.com/matlabcentral/answers/514501-how-do-i-check-if-a-number-is-a-prime-number-a-square-and-or-a-factor-of-6#comment_819105 shows a revised test (which I did not examine)

Sign in to comment.

More Answers (0)

Categories

Find more on Function Creation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!