Pular para conteúdo

2800

Faixa de problemas: 2800-2899

Total: 35 problemas

2802 - Dividindo Círculos

Descrição do Problema: 2802 - Dividindo Círculos

2802 - Dividindo Círculos
1
2
3
n = leia_inteiro
a = (n / 24) * (n ^ 3 - 6 * n ^ 2 + 23 * n - 18) + 1
escreva a formato "%.0f"

2803 - Estados do Norte

Descrição do Problema: 2803 - Estados do Norte

2803 - Estados do Norte
1
2
3
4
5
6
7
estados_norte = ["acre", "amapa", "amazonas", "para", "rondonia", "roraima", "tocantins"]
estado = leia_texto
se estados_norte.contem(estado) entao
  escreva "Regiao Norte"
senao
  escreva "Outra regiao"
fim

2807 - Iccanobif

Descrição do Problema: 2807 - Iccanobif

2807 - Iccanobif
1
2
3
4
5
6
7
n = leia_inteiro
var iccanobif := se n > 1 então [1, 1] senão [1] fim
para i de 3 até n faça
  a, b = iccanobif[1], iccanobif[2]
  iccanobif := (a + b) :: iccanobif
fim
escreva iccanobif.junte(" ")

2808 - Mais Cavalos

Descrição do Problema: 2808 - Mais Cavalos

2808 - Mais Cavalos
p = leia_textos(" ")
p1 = p[1]
p2 = p[2]

d1 = p1[1].inteiro - p2[1].inteiro
d2 = p1[2].inteiro - p2[2].inteiro
se (d1 * d2).abs == 2 então
  escreva "VALIDO"
senão
  escreva "INVALIDO"
fim

2812 - Laércio

Descrição do Problema: 2812 - Laércio

2812 - Laércio
1
2
3
4
5
6
7
8
9
n = leia_inteiro
para i de 1 ate n faca
  leia_inteiro
  nums = leia_inteiros(" ").selecione(a => a mod 2 == 1).ordene.inverta
  resp = para j de 2 ate nums.tamanho + 1, k em [se j mod 2 == 0 entao 1 senao -1 fim] gere
    nums[k * j div 2]
  fim.junte(" ")
  escreva resp
fim

2813 - Evitando Chuva

Descrição do Problema: 2813 - Evitando Chuva

2813 - Evitando Chuva
n = leia_inteiro
var casa, escritorio, cont:= 0
para i de 1 até n faça
  dia = leia_textos(" ")
  se dia[1] == "chuva" então
    cont := cont -1
    se casa < -cont então
      casa := -cont
    fim
  fim
  se dia[2] == "chuva" então
    cont := cont + 1
    se escritorio < cont então
      escritorio := cont
    fim
  fim
fim
escreva "{casa} {escritorio}"

2815 - Digitador Gago

Descrição do Problema: 2815 - Digitador Gago

2815 - Digitador Gago
1
2
3
4
5
6
7
8
9
linha = leia_textos(" ")
saida = para palavra em linha gere
          se palavra.pegue(2) == palavra.descarte(2).pegue(2) então
            palavra.descarte(2)
          senão
            palavra
          fim
        fim
escreva saida.junte(" ")

2823 - Eearliest Deadline First

Descrição do Problema: 2823 - Eearliest Deadline First

2823 - Eearliest Deadline First
n = leia_inteiro
var soma := 0.0
para i de 1 ate n faca
  a = leia_reais(" ")
  soma := soma + a[1] / a[2]
fim
se soma <= 1.0 entao
  escreva "OK"
senao
  escreva "FAIL"
fim

2826 - Léxico

Descrição do Problema: 2826 - Léxico

2826 - Léxico
1
2
3
4
5
6
7
8
a, b = leia_texto
se a < b então
  escreva a
  escreva b
senão
  escreva b
  escreva a
fim

2827 - Contador de Tokens

Descrição do Problema: 2827 - Contador de Tokens

2827 - Contador de Tokens
s = leia_texto.minúsculo.lista
tokens = s.zip(s.cauda)
          .selecione(a => a.primeiro <> ' ' e a.segundo <> ' ')
          .mapeie(a => "{a.primeiro}{a.segundo}")
          .ordene
          .divida_quando(_ <> _)
          .ordene(_.tamanho)
          .inverta
          .divida_quando(_.tamanho <> _.tamanho)
          .cabeça
          .ordene(_.cabeça)
          .cabeça

escreva "{tokens.cabeça}:{tokens.tamanho}"

2830 - Copa

Descrição do Problema: 2830 - Copa

2830 - Copa
K, L = leia_inteiro

se K < 1 ou K > 16 ou K == L ou L < 1 ou L > 16 então
  escreva ("Entrada inválida!")
senãose K < 9 e L >= 9 ou L < 9 e K >= 9 então
  escreva ("final")
senão
  se K > L então
    se K >= 5 e L < 5 ou K >= 13 e L >= 9 e L < 13 então
      escreva ("semifinal")
    senãose K mod 2 == 0 e L == K - 1 então
      escreva ("oitavas")
    senãose K - L == 1 ou K - L == 2 ou K - L == 3 então
      escreva ("quartas")
    fim
  fim
  se L > K então
    se L >= 5 e K < 5 ou L >= 13 e K >= 9 e K < 13 então
      escreva ("semifinal")
    senãose L mod 2 == 0 e K == L - 1 então
      escreva ("oitavas")
    senãose L - K == 1 ou L - K == 2 ou L - K == 3 então
      escreva ("quartas")
    fim
  fim
fim

2831 - Pesos

Descrição do Problema: 2831 - Pesos

2831 - Pesos
leia_inteiro
pesos = leia_inteiros(" ")
dif = pesos.zip(0 :: pesos)
           .mapeie(a => a.primeiro - a.segundo)
           .injete(verdadeiro)((b, v) => b e v <= 8)
se dif entao
  escreva "S"
senao
  escreva "N"
fim

2833 - Campeonato

Descrição do Problema: 2833 - Campeonato

2833 - Campeonato
confronto(a, b, n: Inteiro) =
  ((a - 1) mod n - (n - 1) / 2) * ((b - 1) mod n - (n - 1) / 2) < 0

jogadores = leia_inteiros(" ")
kung = jogadores.posicao(1)
lu = jogadores.posicao(9)
se confronto(kung, lu, 16) entao
  escreva "final"
senaose confronto(kung, lu, 8) entao
  escreva "semifinal"
senaose confronto(kung, lu, 4) entao
  escreva "quartas"
senão
  escreva "oitavas"
fim

2835 - Elevador

Descrição do Problema: 2835 - Elevador

2835 - Elevador
leia_inteiro
pesos = leia_inteiros(" ").ordene
dif = pesos.zip(0 :: pesos)
           .mapeie(a => a.primeiro - a.segundo)
           .injete(verdadeiro)((b, v) => b e v <= 8)
se dif entao
  escreva "S"
senao
  escreva "N"
fim

2839 - As Meias de Rangel

Descrição do Problema: 2839 - As Meias de Rangel

2839 - As Meias de Rangel
escreva leia_inteiro + 1

2840 - Balão++

Descrição do Problema: 2840 - Balão++

2840 - Balão++
1
2
3
4
5
6
a = leia_inteiros(" ")
r, l = a[1], a[2]
pi = 3.1415
v = 4 / 3 * pi * r ^ 3
baloes = l / v
escreva baloes.inteiro

2845 - Festa no Polo Norte

Descrição do Problema: 2845 - Festa no Polo Norte

2845 - Festa no Polo Norte
n = leia_inteiro
a = leia_inteiros(" ").ordene
maior = a[-1]
var ns := para x em a.descarte(1).pegue(20),
               y de (maior div x + 1) * x até maior + 500 passo x gere y fim.ordene

var m := maior + 1
enquanto ns.tamanho > 1 e m >= ns[1] faça
  ns := ns.cauda
  se m == ns[1] então
    m := m + 1
  fim
fim
escreva m

2846 - Fibonot

Descrição do Problema: 2846 - Fibonot

2846 - Fibonot
var fib := [2, 1]
enquanto fib.cabeça < 200000 faça
  fib := (fib[2]+fib[1]) :: fib
fim
fib := fib.inverta
n = leia_inteiro
var c := 0
para i de 1 até 100100 faça
  se fib[1] == i então
    fib := fib.cauda
  senão
    c := c + 1
    se c == n então
      escreva i
    fim
  fim
fim

2847 - Papel, Tesoura, I Love You!

Descrição do Problema: 2847 - Papel, Tesoura, I Love You!

2847 - Papel, Tesoura, I Love You!
1
2
3
4
5
6
s = leia_texto
letras = "oIlveyu!".lista
r = s.selecione(letras.contem)
a = letras.mapeie(c => r.selecione(c == _).tamanho)
b = (a.cabeca div 2) :: a.cauda
escreva b.ordene.cabeca

2850 - Papagaio Poliglota

Descrição do Problema: 2850 - Papagaio Poliglota

2850 - Papagaio Poliglota
var a := leia_texto
enquanto nao eof faça
  escolha a[1]
    caso 'e' => escreva "ingles"
    caso 'd' => escreva "frances"
    caso 'n' => escreva "portugues"
    caso  _  => escreva "caiu"
  fim
  a := leia_texto
fim

2851 - Desafio de Rangel

Descrição do Problema: 2851 - Desafio de Rangel

2851 - Desafio de Rangel
1
2
3
4
5
6
7
8
9
n = leia_inteiro
nums = leia_inteiros(" ").inverta.mapeie(i => (i + '0').caractere) #.junte("")
var lasts := ""
list = para i em nums gere
  a = lasts.descarte_enquanto(i >= _)
  lasts := i + a
  se a.tamanho == 0 então "*" senão a[1] - '0' fim
fim
escreva list.inverta.junte(" ")

2852 - Troca de Mensagens

Descrição do Problema: 2852 - Troca de Mensagens

2852 - Troca de Mensagens
k = leia_texto
n = leia_inteiro
tam = k.tamanho
para i de 1 ate n faca
  frase = leia_texto
  var a := -1
  var vogal := frase.tamanho == 0 ou "aeiou".contem(frase[1])
  para i de 1 ate frase.tamanho faca
    letra = frase[i]
    se i > 1 e frase[i-1] == ' ' entao
      vogal := "aeiou".contem(letra)
    fim
    se vogal ou letra == ' ' entao
      imprima letra
    senao
      a := (a + 1) mod tam
      imprima ((letra + k[a+1] - 2 * 'a') mod 26 + 'a').caractere
    fim
  fim
  escreva ""
fim

2858 - Tabuleiro Infinito

Descrição do Problema: 2858 - Tabuleiro Infinito

2858 - Tabuleiro Infinito
entrada = leia_inteiros(" ")
dir, esq = entrada[1], entrada[2]

var n := dir
var cont := 1
enquanto n > 1 ou n < -1 faça
  se n >= esq - 1 então
    n := n - esq
  senão
    n := n + dir
  fim
  cont := cont + 1
fim
se n==0 então
  escreva "IMPOSSIVEL"
senão
  escreva cont
fim

2861 - A Saída

Descrição do Problema: 2861 - A Saída

2861 - A Saída
1
2
3
4
5
n = leia_inteiro
leia_textos(n)
para i de 1 até n faça
  escreva "gzuz"
fim

2862 - Inseto!

Descrição do Problema: 2862 - Inseto!

2862 - Inseto!
1
2
3
4
5
6
7
8
9
c = leia_inteiro
para i de 1 até c faça
  n = leia_inteiro
  se n > 8000 então
    escreva "Mais de 8000!"
  senão
    escreva "Inseto!"
  fim
fim

2863 - Umil Bolt

Descrição do Problema: 2863 - Umil Bolt

2863 - Umil Bolt
var t := leia_inteiro
enquanto t > 0 faca
  var melhor := leia_real
  para i de 2 ate t faca
    tempo = leia_real
    se tempo < melhor entao
      melhor := tempo
    fim
  fim
  escreva melhor formato "%.2f"
  t := leia_inteiro
fim

2864 - Qual é a Altura?

Descrição do Problema: 2864 - Qual é a Altura?

2864 - Qual é a Altura?
1
2
3
4
5
6
7
8
t = leia_inteiro
para i de 1 ate t faca
  in = leia_inteiros(" ")
  a, b, c = in[1], in[2], in[3]
  x = - b / (2 * a)
  maximo = a * x^2 + b * x + c
  escreva maximo formato "%.2f"
fim

2866 - Criptotexto

Descrição do Problema: 2866 - Criptotexto

2866 - Criptotexto
1
2
3
4
5
6
7
n = leia_inteiro

para i de 1 ate n faca
  a = leia_texto
  b = a.selecione(_ > 96).inverta
  escreva b
fim

2867 - Dígitos

Descrição do Problema: 2867 - Dígitos

2867 - Dígitos
1
2
3
4
5
6
7
8
c = leia_inteiro
para i de 1 até c faça
  entrada = leia_inteiros(" ")
  n, m = entrada[1], entrada[2]
  r = n ^ m
  x = (r formato "%e").descarte_enquanto(_ <> '+').descarte(1).inteiro + 1
  escreva x
fim

2868 - Errrou!

Descrição do Problema: 2868 - Errrou!

2868 - Errrou!
n = leia_inteiro
para i de 1 até n faça
  s = leia_textos(" ")
  a = s[1].inteiro
  b = s[3].inteiro
  c = s[5].inteiro
  d = escolha s[2]
    caso "+" => a + b
    caso "-" => a - b
    caso _   => a * b
  fim
  diff = (d - c).abs
  escreva "E{"r"*diff}ou!"
fim

2869 - Falando em Divisor...

Descrição do Problema: 2869 - Falando em Divisor...

2869 - Falando em Divisor...
1
2
3
4
5
a = [1, 2, 4, 6, 16, 12, 64, 24, 36, 48, 1024, 60, 4096, 192, 144, 120, 65536, 180, 262144, 240, 576, 3072, 4194304, 360, 1296, 12288, 900, 960, 268435456, 720, 73741817, 840, 9216, 196608, 5184, 1260, 719476260, 786432, 36864, 1680, 511620083, 2880, 46480318, 15360, 3600, 12582912, 743685088, 2520, 46656, 6480, 589824, 61440, 595845303, 6300, 82944, 6720, 2359296, 805306368, 134099126, 5040, 536396504, 221225451, 14400, 7560, 331776, 46080, 329376018, 983040, 37748736, 25920, 270016253, 10080, 80065005, 158428766, 32400, 3932160, 746496, 184320, 124160285, 15120, 44100, 534860242, 986564553, 20160, 5308416, 139440954, 415919090, 107520, 140130951, 25200, 2985984, 62914560, 663676353, 231055250, 21233664, 27720, 873523211, 233280, 230400, 45360]
n = leia_inteiro
para i de 1 até n faça
  escreva a[leia_inteiro]
fim

2872 - Protocolo TCP/IP

Descrição do Problema: 2872 - Protocolo TCP/IP

2872 - Protocolo TCP/IP
var n := leia_inteiro
enquanto n > 0 faca
  var lista: Lista[Texto] = []
  var linha := leia_texto
  enquanto linha <> "0" faça
    lista := linha :: lista
    linha := leia_texto
  fim
  escreva lista.ordene.junte("\n")
  escreva ""
  n := leia_inteiro
fim

2879 - Desvendando Monty Hall

Descrição do Problema: 2879 - Desvendando Monty Hall

2879 - Desvendando Monty Hall
1
2
3
4
n = leia_inteiro
nums = leia_textos(n)
cont = nums.selecione(_ <> "1").tamanho
escreva cont

2880 - Enigma

Descrição do Problema: 2880 - Enigma

2880 - Enigma
mensagem, crip = leia_texto
letras = Lista(26, Lista(0,0)).mutável
para i de 1 até crip.tamanho faça
  letras[crip[i] - 64] := (i-1) :: letras[crip[i] - 64]
fim
posicoes = Lista(mensagem.tamanho, 1).mutável
para i de 1 até mensagem.tamanho,
     j em letras[mensagem[i] - 64] se i > j faça
            posicoes[i - j] := 0
fim
tam = mensagem.tamanho - crip.tamanho + 1
escreva posicoes.pegue(tam).injete(0)(_ + _)

2896 - Aproveite a Oferta

Descrição do Problema: 2896 - Aproveite a Oferta

2896 - Aproveite a Oferta
1
2
3
4
5
6
7
t = leia_inteiro
para i de 1 até t faça
  entrada = leia_inteiros(" ")
  n, k = entrada[1], entrada[2]
  g = n mod k + n div k
  escreva g
fim