0votos

Clave secreta para acceso a cajeros automáticos en C++

por Emanuel hace 6 meses

Modifico mi anterior solución. Esta vez utilizo aritmética para determinar si cumple con las diferentes condiciones de código válido.

Un banco establece que la clave secreta para acceso a sus cajeros automáticos debe ser un número de cuatro o más dígitos y que la suma de los dos dígitos que se encuentran en la 3 y 4 posición (posición de centena y millar) sea par. Determinar si una clave cumple con la condición.

1
2
3
4
5
6
7
8
bool is_code_valid( unsigned int const&number ) { 
    bool has_4_or_more_digits = number % 1000 != number; 
    unsigned int  
        digit_millar    = number % 1000 / 100, 
        digit_centenar    = number % 100 / 10; 
 
    return has_4_or_more_digits && ( digit_millar + digit_centenar ) % 2 == 0; 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.