hola tengo un problema con este programa, la idea es que lea los numeros primos y que diga cuales son primos y cuales no, pero lo cuando identifica funciona bien, despues del 8 comienza a decir que es primo y al mismo tiempo dice que no, entonces, si pueden ayudarme a corregir este error gracias:
codigo:
create or replace procedure Gen_Primos( N number )as
raiz number(5);
modulo number;
acumula number(5);
begin
raiz := sqrt(N);
acumula := 0;
for contador in 2..raiz loop
modulo := mod(N,contador);
if( modulo != 0 )then
DBMS_OUTPUT.PUT_LINE(N||' primo '||' modulo '|| modulo || ' contador '|| contador || ' raiz ' || raiz );
else
acumula := acumula + 1;
DBMS_OUTPUT.PUT_LINE(N||' no primo '||' modulo '|| modulo || ' contador '|| contador || ' raiz ' || raiz || ' acumula = ' || acumula );
end if;
end loop;
end;
/
--execute Gen_Primos(1);
--execute Gen_Primos(2);
--execute Gen_Primos(3);
--execute Gen_Primos(4);
execute Gen_Primos(5);
execute Gen_Primos(6);
execute Gen_Primos(7);
execute Gen_Primos(8);
execute Gen_Primos(9);
execute Gen_Primos(10);
execute Gen_Primos(11);
--execute Gen_Primos(13);
--execute Gen_Primos(17);
--execute Gen_Primos(19);
--execute Gen_Primos(23);