Os códigos para verificação de que se um número é primo, normalmente usam laços "for" e por isso
trabalham com números inteiros na variação. Acontece que existe uma limitação para a variável
inteira. Como contorno isto se desejo verificar se um número maior do que três bilhões é primo?
Por exemplo a função abaixo verifica se um número n é primo ou não.
function SeraQueSouPrimo(N: Integer): Boolean;
var
Testando: Integer;
begin
SeraQueSouPrimo := True;
for Testando := 2 to N - 1 do
if (N mod Testando) = 0 then
begin
SeraQueSouPrimo := False;
break; {jump out of the for loop}
end;
end;
Não é necessário que alguém diga que esta não é a função mais rápida.(Uso outra na prática)
Sei disso!!,apenas coloquei esta como exemplo para fixar a imagem do for variando de 2 até n-1
Como resolveria este problema?
Os matemáticos que trabalham com teoria dos números devem usar algum código para trabalhar com números extremamante grandes, mas não tenho idéia de qual seria.
Question
Paulo Nobre
Os códigos para verificação de que se um número é primo, normalmente usam laços "for" e por isso
trabalham com números inteiros na variação. Acontece que existe uma limitação para a variável
inteira. Como contorno isto se desejo verificar se um número maior do que três bilhões é primo?
Por exemplo a função abaixo verifica se um número n é primo ou não.
Não é necessário que alguém diga que esta não é a função mais rápida.(Uso outra na prática)
Sei disso!!,apenas coloquei esta como exemplo para fixar a imagem do for variando de 2 até n-1
Como resolveria este problema?
Os matemáticos que trabalham com teoria dos números devem usar algum código para trabalhar com números extremamante grandes, mas não tenho idéia de qual seria.
Link to comment
Share on other sites
18 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.