No hay matrices, por lo que solo usaremos 4 variables separadas para mantener nuestros 4 números.
No se pueden usar declaraciones if, por lo que usaremos declaraciones ternarias. (Esencialmente, declaraciones if-else, pero no uso de la palabra clave ‘if’, por lo que asumiré que es válida y seguiré adelante)
Para simplificar, usaremos 2 declaraciones ternarias para encontrar el máximo, pero todo podría ser una gran declaración ternaria anidada.
- ¿Se puede demostrar que es imposible volver a un entero inicial mayor que uno si aplica un algoritmo de multiplicar por tres y agregar uno cuando es impar y dividir por dos si es par?
- ¿Cuáles son los algoritmos necesarios para resolver todos los problemas (usando C ++) en cualquier concurso de codificación competitivo?
- ¿Cuáles son las mejores preguntas de la entrevista de estructura de datos de árbol?
- ¿Por qué las matrices tienen una mejor ubicación de caché que la lista vinculada?
- ¿Por qué sigo fallando la introducción a los algoritmos en la escuela de posgrado?
Código:
#include
int main ()
{
int a = 1, b = 6, c = 3, d = 4;
int max;
// Encuentra el mayor número en a o b.
max = (a> b? a: b);
/ * Encuentra el mayor número en cyd, y compáralo con el anterior
encontrado máximo en ay b. * /
max = (c> d? (c> max? c: max): (d> max? d: max));
printf (“Máx .:% d \ n”, máx.);
devuelve 0;
}
Así es como funciona una declaración ternaria, en caso de que el lector no se dé cuenta:
condición? si la condición es verdadera: si la condición es falsa;
Por eso cuando escribo,
max = a> b? a: b;
es equivalente a:
si (a> b)
{
max = a;
}
más
{
max = b;
}
Entonces nuestras dos declaraciones ternarias son equivalentes a esto:
si (a> b)
{
max = a;
}
más
{
max = b;
}
si (c> d)
{
si (c> max)
{
max = c;
}
}
más
{
si (d> max)
{
max = d;
}
}