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

67 ビュー (過去 30 日間)
Vjon Joson
Vjon Joson 2020 年 4 月 1 日
編集済み: DGM 2023 年 1 月 5 日
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 件のコメント
Walter Roberson
Walter Roberson 2023 年 1 月 5 日
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 2023 年 1 月 5 日
編集済み: DGM 2023 年 1 月 5 日
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.

サインインしてコメントする。

採用された回答

Birdman
Birdman 2020 年 4 月 1 日
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 件のコメント
Torsten
Torsten 2022 年 10 月 15 日
編集済み: Torsten 2022 年 10 月 15 日
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 2022 年 10 月 16 日
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)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by