1013 - O Maior
Descrição
Solução
Uma forma de conseguir o maior de três elementos usando uma função que só aceita dois elementos é fazer uma composição da seguinte forma:
Com isso, o max(b, c) de dentro vai ser executado primeiro, trazendo o maior entre os números b e c; e depois vai ser executado o max de fora, onde vai ser escolhido o máximo entre a e o máximo escolhido entre b e c antes.
Por que a fórmula funciona?
Considere que a é o maior número e b é o menor, temos que
como queríamos demonstrar.
#include <stdio.h>
#include <stdlib.h>
int maior(int a, int b){
return (a + b + abs(a - b))/2;
}
int main(){
int a, b, c, resposta;
scanf("%d %d %d", &a, &b, &c);
resposta = maior(a, maior(b, c));
printf("%d eh o maior\n", resposta);
return 0;
}
Last updated
Was this helpful?