Buenas tardes amigos perdonen la ausencia es que tenia problemas con el internet.
Viendo el codigo que me diste ecfisa resulta que no puedo utilizar la instruccion IntToStr por peticiones del profesor
Tengo que realizar lo siguiente:
Ingresar un numero inicial
Determinar la cantidad de digitos que tiene, a esto se le puede llamar N
Dividir esa cantidad entre 2 y tomar ese numero como la cantidad de digitos a descartar del numero al cuadrado, lo llamo M
Elevar al cuadrado el numero original
Descartar la M cantidad de digitos que saque anteriormente y luego quedarme solo con los N restantes
y repetir eso las 20 veces que me pide el problema.
Y bueno desarrolle todo eso ya en codigo excepto la repeticion de todo el porgrama para generar los 20 numeros aleatorios (bueno pseudoaleatorios) si me pueden ayudar con eso seria perfecto porque tengo hasta mañana para enviar ese programa y otros cuatro mas que estaba haciendo en la semana. Disculpen lo poco ordenado del codigo pero eso pienso arreglarlo luego, le agregue unos comentarios para que este un poco mas entendible para ustedes.
Código Delphi
[-]Var Original, Auxiliar, Digito, Construido,c,m,nuevo,aux2,prueba,g,ultimo,f,p,i: Integer;
begin
Construido:=0;
Write('Ingrese un numero entero: ');
Readln(Original);
Auxiliar:=Original;
c:=0;
repeat
Digito:=Auxiliar mod 10;
Auxiliar:=Auxiliar div 10;
c:=c+1;
until auxiliar=0;
Writeln('Tiene ',c,' Digitos');
m:=c div 2;
Writeln(m,' Digitos a descartar');
nuevo:=original*original;
Writeln(nuevo, ' Al elevar al cuadrado');
aux2:=nuevo;
if m=2 then begin
prueba:=aux2 div 100;
Writeln(prueba,' Descarto los m digitos');
end;
if m=1 then Begin
prueba:=aux2 div 10;
Writeln(prueba,' Descarto los m digitos');
End;
Writeln;
Writeln;
g:=0;
Repeat
Digito:=prueba mod 10;
Construido:=Digito+Construido*10;
prueba:=prueba div 10;
g:=g+1;
Until g=c;
Repeat
Digito:=construido mod 10;
ultimo:=Digito+ultimo*10;
construido:=construido div 10;
f:=f+1;
Until f=c;
Writeln;
Writeln('Deberia ser este ',ultimo); Readln;
Original:=ultimo;
end.