how to make a function that take an integer as input and return ture if this prime otherwise false
21 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Muhammad Usman Saleem
el 28 de Mayo de 2015
Respondida: charu sharma
el 20 de Ag. de 2015
Hi everyone; I am going to attempt that question: Write a function myprime that takes n, a positive integer, as an input and returns true if n is prime or returns false otherwise. Do not use the isprime or primes or factor built-‐in functions. Hint: you can use the rem or fix functions. I am using that code
function prime=myprime(n)
a=abs(n);
i=1;
while i<a
if rem(a,i)~=0
prime='TURE';
else
prime='FALSE';
end
i=i+1;
end
end
and getting error
Feedback: Your function made an error for argument(s) 2
Your solution is _not_ correct.
Guide me where i need corrections in my code. Thanks in advance for assistance..
3 comentarios
Ryan Livingston
el 28 de Mayo de 2015
I removed the product tag for "MATLAB Coder" below since this example is not using the product MATLAB Coder. Please only use that product tag when this product is involved. Thank you.
Respuesta aceptada
Andrei Bobrov
el 28 de Mayo de 2015
function p = myprime(n)
p = n-nnz(rem(n,1:n)) == 2;
2 comentarios
Andrei Bobrov
el 29 de Mayo de 2015
a = rem(n,1:n) % determining the remainder of division n on a series of numbers 1: n
b = nnz (a); % the number of divisions with remainder
out = n-2 == b; % condition for prime number
Más respuestas (2)
B.k Sumedha
el 28 de Mayo de 2015
function result = isprime2(number)
number=5;
result=true;
%%check if number is a nonnegative integer
if floor(number)~=number || number<0
result=false;
return
end
%%check if number can be divided by another integer
for k=2:(number/2)
if rem(number,k)==0
result=false;
return
end
end
Returns 1 if the number isprime and returns 0 if the number is not prime.
1 comentario
charu sharma
el 20 de Ag. de 2015
For number n being prime, if it is divisible by any of the numbers from 2 to n/2 then it is not prime so you just need to check the divisibility till n/2. MATLAB uses 0 or 1 in place of false and true. You can refer this too for less time complexity: http://farzicoders.blogspot.in/2015/08/write-function-myprime-that-takes-n.html
0 comentarios
Ver también
Categorías
Más información sobre Discrete Math en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!