Todos os problemas
FácilAprendendo a programar
Bhaskara
De forma genérica uma equação do 2º Grau é definida comoa.X2+b.X+c=0a.X² + b.X + c = 0a.X2+b.X+c=0Exemplo: a equação 5x² + 2x + 2 = 0 possui os valores a = 5, b = 2 e c = 2E para calcular as raízes da equação (sim, como é uma equção do 2º grau pode ter dois resultados) é utilizada a fórmula de Bháskara:Δ=b2−4.a.c\Delta = b² - 4.a.cΔ=b2−4.a.cX=−b±Δ2.aX = \frac {-b \pm \sqrt \Delta} {2.a}X=2.a−b±ΔVeja que é utilizado o símbolo de +- pois uma solução (X') é calculada usando a soma e outra (X'') usando a subtraçãoFaça um programa que receba do usuário os valores a, b e c de uma equação do 2º grau, e então calcule as raízes da equação.Caso o delta seja negativo, é impossível calcular uma solução dentro dos números reais então apenas informe "Delta negativo."Formatação:Você deve realizar o cálculo e então escrever o resultado como valores com 5 casas decimais, um por linha.
FácilAprendendo a programar
Número por extenso
Você irá fazer fazer um programa que recebe um número inteiro e o escreve na tela por extenso em português.O seu programa deve funcionar para números inteiros positivos desde 0 (zero) até 1.000.000.000 (1 bilhão)Formatação:Deve exibir o texto do número por extenso, respeitando plural e conectivos, incluindo caracteres acentuados quando necessário.Não separe por vírgulas
MédioAprendendo a programar
Contando primos
Um número inteiro ppp é primo quando p>1p > 1p>1 e seus únicos divisores positivos são 1 e ppp. Assim, 2,3,5,7,11,…2, 3, 5, 7, 11, \dots2,3,5,7,11,… são primos, enquanto 0, 1 e 8 não são.Dado um intervalo fechado [a,b][a, b][a,b], determine quantos números primos existem dentro dele.EntradaA entrada consiste em dois valores inteiros a e b, que representam respectivamente o início e o fim do intervalo. Ambos os extremos fazem parte do intervalo.SaídaImprima uma única linha contendo um único número inteiro: a quantidade de números primos.
Estruturas de Dados
Avaliador de expressões RPN
Você irá utilizar uma árvore binária para armazenar uma expressão aritmética. Cada nó interno guarda um operador (+, -, * ou /) e cada folha guarda um número.A árvore deve ser construída a partir de uma expressão escrita em notação pós-fixa (Reverse Polish Notation), na qual o operador vem depois dos seus dois operandos e não existem parênteses. Por exemplo, a expressão 5 9 + 2 * 3 + corresponde à árvore abaixo e produz o resultado 31: + / \ * 3 / \ + 2 / \ 5 9Lendo a árvore de baixo para cima: primeiro soma-se 5 + 9 = 14, depois multiplica-se 14 * 2 = 28 e por fim soma-se 28 + 3 = 31.Depois de montada, você deve usar duas travessias diferentes na mesma árvore:uma travessia em ordem (esquerda, nó, direita) para reescrever a expressão na forma infixa, do jeito que estamos acostumados a ler;uma travessia em pós-ordem (esquerda, direita, nó) para calcular o resultado da expressão.Repare que as duas funções são o mesmo percurso recursivo, mudando apenas o momento em que o nó atual é visitado.Formato da entradaUma única linha contendo a expressão em notação pós-fixa, com os símbolos separados por um espaço. Os números são inteiros não negativos e os operadores são +, -, * e /.Formato da saídaDuas linhas:A expressão reescrita na forma infixa, totalmente parentizada e sem espaços. Ou seja, para cada nó interno deve ser escrito um parêntese de abertura antes de descer à esquerda e um parêntese de fechamento depois de voltar da direita. As folhas são escritas como números inteiros.O resultado do cálculo, sempre inteiro e positivo, qualquer divisão será arredondada para baixo.