Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Noite, sou novo nessa área de programação, pois só comecei a estudar agora na faculdade e literalmente não entendo nada.
O prof passou trabalho em pascal, para dizer se o numero inserido é primo (Falso ou Verdadeiro).
Esse é o mais próximo que consegui chegar, mas eu coloco outros números ele ta afirmando que é primo sendo que não é.
function Primo ( n : Integer) : boolean;
Var
F: integer;
Begin
for F:=2 to n-1 do
begin
If n mod F = 0 then
result:= false
else
begin
result:= true
end;
end
end;cara lembro nada de Pascal mas segue uma lógica pra você traduzir pro pascal! olha se te ajuda assim!
function Primo ( n : Integer) : boolean;
Var
F: integer;
c: integer;
Begin
c := 0
for F:= 1 to n do
begin
If n mod F = 0 then
c := c + 1
end
if c= 2 then
return: True
else
return: False
end.
>
Por que você usou n-1? Você poderia ter simplesmente testado o if, não é necessário um for neste caso... Você não está realizando nenhuma repetição.
E o código que você colocou não checa se o número é primo, mas sim se ele é par ou impar...
então eu usei o n-1 pq a função ta pra dividi de 2 até n-1, então se o resto da divisão de N até N-1 for zero então é falso, pois o numero primo so da divisao exata por 1 e por ele msm.
Colocando n-1 eu descarto ele e descarta o 1 na divisao
>
então eu usei o n-1 pq a função ta pra dividi de 2 até n-1, então se o resto da divisão de N até N-1 for zero então é falso, pois o numero primo so da divisao exata por 1 e por ele msm.
Colocando n-1 eu descarto ele e descarta o 1 na divisao
Na verdade da maneira como você escreveu da primeira vez, você está dividindo todos os números de n-1 até seu número por 2 e verificando se o resto é 0, isso é verificação de par ou impar (se n=2k então par se não n=2k+1 é impar, implica que n/2=k é par). O modo como o pedro colocou parece correto pois você está dividindo o número colocado por todos os números desde 1 até ele mesmo, se houver alguma divisão neste meio que não seja MOD 0 tirando o 1 e ele próprio então ele não é primo.
Por que você usou n-1? Você poderia ter simplesmente testado o if, não é necessário um for neste caso... Você não está realizando nenhuma repetição.
E o código que você colocou não checa se o número é primo, mas sim se ele é par ou impar...