Las últimas preguntas del examen Noip

Esta pregunta también es muy simple. Simplemente prueba algunas habilidades básicas de programación y no es nada difícil. Siempre que prestes atención, es fácil obtener la puntuación de esta pregunta.

Aquí, el número se representa mediante una cadena (por supuesto, también se pueden usar otros métodos) porque es conveniente para el procesamiento.

La suma N-aria es lo más destacado de este tema. Se maneja de la siguiente manera:

1) Carácter -> Las matrices se pueden usar para simplificar el programa, es decir, conjuntos de números y caracteres.

2) Sumar, retener todos los dígitos y llevar, como si se hiciera una suma de alta precisión.

g es llevar.

Constante

Paso: entero = 0;

caracteres: matriz [0..15] de char=('0 ', ' 1 ', ' 2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' , 'F');

Definir variables

dígito: matriz de números enteros [char];

I, n, g: entero;

m, s: cadena;

ok: booleano;

Inicio

para i:=0 a 9 do digit[char(ord (' 0 ') I)]: = I;

para i: = 0 a 5 do digit[char(ord(' A ') I)]: = I

Write(' n = '); readln(n);

Escribir (' m = '); readln(s);

para I:= 1 a longitud( s) hacer s[I]:= up case(s[I]);

Repetir

ok:=True;

Para i:=1 hasta la longitud (s) div 2 do

Si s[I] lt; gts[length (s) 1-i] entonces está bien:= false;

Si está bien, continúe <; /p>

inc(paso);

m: = s; g: = 0

Para I: = longitud (m) hasta 1 do

Inicio

s[I]:= caracteres[(dígito[m[I]] dígito[m[longitud(m) 1-I]] g)mod n] ;

g:=(dígito[m[I]] dígito[m[longitud(m) 1-I]] g)div n;

Fin;

if g gt0 entonces s:= chars[g] s;

hasta el paso gt=30;

si es posible

writeln('STEP = ', STEP)

Otro

writeln('imposible');

Fin.

No hay problema, por favor acepta. Si tiene alguna pregunta, por favor pregunte.