PASCAL encuentra todos los números primos hasta 100 y los muestra como cinco números por línea
Entrada n
La salida son números primos del 1 al n, cada cinco en una línea
var
i, j, count, n: longint; //i, j son variables de bucle; count es un contador, que se cambiará a una nueva línea y se borrará cada cinco veces; n es el número de entrada; //Una variable para determinar si es un número primo;
begin
readln(n);//Leer
for i:=2 a n do // Bucle externo, enumeración de 2 a El número de n, dado que 1 es especial, se enumera a partir de 2.
comenzar
f:=true; // Establece el valor de juicio en verdadero primero
para j:=2 a trunc(sqrt(i)) do //Enumere los números redondeados de 2 a la raíz i, lo que puede ahorrar efectivamente complejidad de tiempo;
si i mod j =0 entonces f:=false si hay entre 2~n Si el número; puede dividir i, establezca el valor de juicio en falso;
si f entonces// Si i es un número primo
comenzar
escribir (i, ' ' ); //Salida i;
inc(count); //Agrega uno al contador;
si cuenta=5, comienza a escribir:=0; / Si el contador llega a cinco, bórrelo y ajuste la línea
end; //end if
end; end.// end program;
El siguiente es el resultado de salida para una entrada de 100:
2 3 5 7 11
13 17 19 23 29
31 37 41 43 47
53 59 61 67 71
73 79 83 89 97
Si no hay espacio en el final de cada línea, entonces si f entonces Luego cambie a lo siguiente:
si f entonces
comenzar
inc(count);
si cuenta=5 entonces comienza la cuenta: =0; writeln(i); fin
else write(i, ' '); >Finalmente, por favor dame el mejor ~~