not urgent, but if you see this and have time please help me, thank you , Please help , LAST prime under n

1 vue (au cours des 30 derniers jours)
I need to write a code which the instruction is below, I tried all I could, but I don't know how to store the last element and find the prime factors of the next number, please read, your help will change my grade dramatically, I appreciate so much if you help, this is due tomorrow and I just found out about this website, if you see this and know about matlab please help.
Calculate the largest prime numbers below 5000, 10000, and 100000. Calculate the largest prime factor of the next integer above your prime. Your answer will be six numbers. Three primes, and three largest prime factors of the next integer. You may use the isprime and factor commands, but you will lose points for using the primes command in your submission (though you may check your work with it). Example: Calculate the largest prime below 10. This number is 7, which you may obtain by whatever method you prefer (trial division is easy to understand and loops well). The next integer above this prime number is 8. The largest prime factor of 8 is 2. Thus, the answers for a limit of 10 are: 7 as the prime, 2 as the largest prime factor of the next number
what I have so far:
n=1000000;
i=1:n;
isprime=true(1,n);
isprime(1)=false;
p=2;
isprime(2*p:p:end)=false;
p=3;
while p^2<=n
while ~isprime(p) && p^2<=n;
p=p+1;
end;
if ~isprime(p)
break;
end ;
isprime(2*p:p:end)=false;
p=p+2;
disp('isprime(nth)')
end;
primesfound=find(isprime)
  2 commentaires
Salar
Salar le 11 Sep 2012
I didn't know , sorry, It is first time I'm suing this site, I take down "Urgent", but it is really urgent because that is what I meant, I needed it really fast, and I know I had to plan early, but as I said I just found this website, anyway my apologies!

Connectez-vous pour commenter.

Réponse acceptée

Matt Fig
Matt Fig le 11 Sep 2012
Modifié(e) : Matt Fig le 11 Sep 2012
O.k., you gave it a good shot, but there are some simple mistakes here. You want to use the ISPRIME function, but you define a variable named isprime. This is a big no-no. Look what happens:
clear all
pi % Call the function.
pi=4; % Create a variable.
pi % Now try to call the function again! Oops!
So change your variable name to ispr or something similar so you don't mask the function you need to call.
That one thing will go a long way towards clearing this up. At the end of your code, put this. You will find some useful hints here.
lastprime = primesfound(end);
nextinteger = lastprime+1;
% use this to Call FACTOR function inside the MAX function.....
  7 commentaires
Andrei Bobrov
Andrei Bobrov le 11 Sep 2012
without functions isprime and factor
A = [5000, 10000, 100000];
out = zeros(2,numel(A));
out(1,:) = A - 1 + rem(A,2);
for jj = 1:numel(A)
while ~all(rem(out(1,jj),3:2:out(1,jj)-2))
out(1,jj) = out(1,jj) - 2;
end
q = [2,3:2:out(1,jj)];
q2 = q(~rem(out(1,jj)+1,q));
k = q2(1);
for j1 = 2:numel(q2)
if all(rem(q2(j1),[2,3:2:q2(j1)-1])) && q2(j1) > k
k = q2(j1);
end
end
out(2,jj) = k;
end

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by