Seis exercícios resolvidos em Python
1. Área do Círculo
Enunciado: Dado o valor de raio de um círculo, calcule a sua área.
Entrada: O valor do raio rr (0 < r ≤ 1000).
Saída: A área do círculo, com duas casas decimais.
Solução em Python:
import math
r = float(input()) # Leitura do raio
area = math.pi * r**2 # Cálculo da área
print(f"{area:.2f}") # Exibição da área com duas casas decimaisExemplo de Entrada e Saída:
Entrada:
2.00
Saída:
12.57
2. Cédulas
Enunciado: Dado um valor de R$, calcule o número de cédulas necessárias para fazer esse valor com as cédulas disponíveis.
Entrada: O valor a ser pago (valor em reais, com até 2 casas decimais).
Saída: A quantidade de cédulas de cada valor (100, 50, 20, 10, 5, 2, 1).
Solução em Python:
valor = float(input()) # Leitura do valor
valor = int(valor * 100) # Convertendo para centavos
cedulas = [10000, 5000, 2000, 1000, 500, 200, 100, 50, 20, 10, 5, 2, 1] # Cédulas em centavos
nomes = ["Cédulas de 100", "Cédulas de 50", "Cédulas de 20", "Cédulas de 10", "Cédulas de 5",
"Cédulas de 2", "Cédulas de 1"]
for i in range(len(cedulas)):
num_cedulas = valor // cedulas[i] # Número de cédulas
valor %= cedulas[i] # Subtrai a quantidade já retirada
print(f"{num_cedulas} {nomes[i]}") Exemplo de Entrada e Saída:
Entrada:
576.73
Saída:
5 Cédulas de 100
1 Cédulas de 50
1 Cédulas de 20
1 Cédulas de 5
1 Cédulas de 2
3 Cédulas de 1
3. Figurinhas
Enunciado: Dado dois números de figurinhas F1 e F2, calcule a maior quantidade de pilhas que pode ser formada com essas figurinhas.
Entrada: Vários casos de teste com dois números inteiros F1 e F2 (1 ≤ F1, F2 ≤ 1000).
Saída: A maior quantidade de pilhas que pode ser formada.
Solução em Python:
import math
# Leitura do número de casos de teste
T = int(input())
for _ in range(T):
F1, F2 = map(int, input().split())
print(math.gcd(F1, F2)) # Maior divisor comum (GCD)Exemplo de Entrada e Saída:
Entrada:
3
8 12
9 27
259 111
Saída:
4
9
37
4. Crise de Energia
Enunciado: Durante uma crise de energia, um número m deve ser escolhido de forma que Wellington (região 13) seja a última a ser desligada.
Entrada: O número N (13 ≤ N ≤ 100), representando o número de regiões. O fim da entrada é indicado pelo valor zero (0).
Saída: O valor de m que atende à condição de Wellington ser a última a ser desligada.
Solução em Python:
def survivor(n, k):
Tnk = 0
for i in range(1, n):
Tnk = (Tnk + k) % i
return Tnk
def main():
while True:
N = int(input())
if N == 0:
break
k = 1
while survivor(N, k) + 2 != 13:
k += 1
print(k)
if __name__ == "__main__":
main()Exemplo de Entrada e Saída:
Entrada:
17
0
Saída:
7
5. Tipos de Triângulos
Enunciado: Dado três lados de um triângulo, determine o tipo do triângulo.
Entrada: Três valores de ponto flutuante A, B, C (1 ≤ A, B, C ≤ 1000).
Saída: Imprima o tipo do triângulo.
Solução em Python:
def classify_triangle(A, B, C):
# Ordena os lados em ordem decrescente
A, B, C = sorted([A, B, C], reverse=True)
if A >= B + C:
return "NAO FORMA TRIANGULO"
elif A**2 == B**2 + C**2:
return "TRIANGULO RETANGULO"
elif A**2 > B**2 + C**2:
return "TRIANGULO OBTUSANGULO"
elif A**2 < B**2 + C**2:
return "TRIANGULO ACUTANGULO"
elif A == B == C:
return "TRIANGULO EQUILATERO"
elif A == B or B == C or A == C:
return "TRIANGULO ISOSCELES"
# Leitura dos valores
A, B, C = map(float, input().split())
print(classify_triangle(A, B, C))Exemplo de Entrada e Saída:
Entrada:
7.0 5.0 7.0
Saída:
TRIANGULO ACUTANGULO
TRIANGULO ISOSCELES
6. Dama
Enunciado: Dado a posição de uma dama no tabuleiro de xadrez, calcule o número mínimo de movimentos necessários para ela ir de uma posição para outra.
Entrada: Quatro inteiros X1, Y1, X2, Y2 (1 ≤ X1, Y1, X2, Y2 ≤ 8).
Saída: O número mínimo de movimentos necessários.
Solução em Python:
def min_moves(x1, y1, x2, y2):
if x1 == x2 and y1 == y2:
return 0
if x1 == x2 or y1 == y2 or abs(x1 - x2) == abs(y1 - y2):
return 1
return 2
# Leitura dos valores
x1, y1, x2, y2 = map(int, input().split())
# Processa até a linha 0 0 0 0
while (x1, y1, x2, y2) != (0, 0, 0, 0):
print(min_moves(x1, y1, x2, y2))
x1, y1, x2, y2 = map(int, input().split())Exemplo de Entrada e Saída:
Entrada:
4 4 6 2
3 5 3 5
5 5 4 3
0 0 0 0
Saída:
1
0
2