Pular para conteúdo

3000

Faixa de problemas: 3000-3099

Total: 33 problemas

3004 - Envelopes

Descrição do Problema: 3004 - Envelopes

3004 - Envelopes
n = leia_inteiro
para i de 1 até n faça
  a = leia_inteiros(" ")
  envelope1 = a.pegue(2).ordene
  envelope2 = a.descarte(2).ordene
  pode_colocar = envelope1[1] < envelope2[1] e envelope1[2] < envelope2[2]
  se pode_colocar entao
    escreva "S"
  senao
    escreva "N"
  fim
fim

3005 - Pilhas de Paralelepípedos

Descrição do Problema: 3005 - Pilhas de Paralelepípedos

3005 - Pilhas de Paralelepípedos
n = leia_inteiro
para i de 1 até n faça
  a = leia_inteiros(" ")
  x = a.pegue(3).ordene
  y = a.descarte(3).ordene
  resposta =
    (se y[3] > x[2] e y[2] > x[1] então 1 senão 0 fim) +
    (se x[3] > y[2] e x[2] > y[1] então 2 senão 0 fim)
  escreva resposta
fim

3024 - Mountain Ranges

Descrição do Problema: 3024 - Mountain Ranges

3024 - Mountain Ranges
in = leia_inteiros(" ")
n, x = in[1], in[2]
l = leia_inteiros(" ")

var r, p := 1

para i de 2 até n faça
  se l[i] - l[i-1] <= x então
    p := p + 1
    se p > r então r := p fim
  senão
    p := 1
  fim
fim

escreva r

3034 - O Caso Douglas

Descrição do Problema: 3034 - O Caso Douglas

3034 - O Caso Douglas
primo(a: Inteiro)
  var resposta = verdadeiro
  para i de 3 ate raiz(a).inteiro passo 2 faca
    se a mod i == 0 então
      resposta := falso
    fim
  fim
  retorne resposta
fim

n = leia_inteiro
para i de 1 ate n faça
  num = leia_inteiro + 1
  se num mod 2 == 1 e num mod 7 == 0 e primo(num + 2) então
    escreva "Yes"
  senao
    escreva "No"
  fim
fim

3036 - Cor da Camisa

Descrição do Problema: 3036 - Cor da Camisa

3036 - Cor da Camisa
v = leia_inteiro
c = 300000000
λ = (700.0 * (c - v) / raiz( 1.0 * c * c - 1.0 * v * v)).arredonde
cor = se λ < 400 ou λ >= 750 então "invisivel"
      senãose        λ < 425 então "violeta"
      senãose        λ < 445 então "anil"
      senãose        λ < 500 então "azul"
      senãose        λ < 575 então "verde"
      senãose        λ < 585 então "amarelo"
      senãose        λ < 620 então "laranja"
      senãose        λ < 750 então "vermelho"
      fim
escreva cor

3037 - Jogando Dardos Por Distância

Descrição do Problema: 3037 - Jogando Dardos Por Distância

3037 - Jogando Dardos Por Distância
1
2
3
4
5
6
7
8
n = leia_inteiro
pontos() = para j de 1 ate 3 gere
             leia_inteiros(" ").injete(1)(_ * _)
           fim.injete(0)(_ + _)
para i de 1 ate n faca
  joao, maria = pontos
  escreva se joao > maria entao "JOAO" senao "MARIA" fim
fim

3038 - Carta de Natal Criptografada

Descrição do Problema: 3038 - Carta de Natal Criptografada

3038 - Carta de Natal Criptografada
var linha := leia_texto
enquanto nao eof faca
  saida = para c em linha gere
    escolha c
      caso '@' => 'a'
      caso '&' => 'e'
      caso '!' => 'i'
      caso '*' => 'o'
      caso '#' => 'u'
      caso  c  =>  c
    fim
  fim
  escreva saida.junte("")
  linha := leia_texto
fim

3039 - Brinquedos do Papai Noel

Descrição do Problema: 3039 - Brinquedos do Papai Noel

3039 - Brinquedos do Papai Noel
1
2
3
4
5
6
7
8
n = leia_inteiro
var m := 0
para i de 1 ate n faca
  a = leia_texto.ultimo
  se a == 'M' entao m := m + 1 fim
fim
escreva "{m} carrinhos"
escreva "{n-m} bonecas"

3040 - A Árvore de Natal

Descrição do Problema: 3040 - A Árvore de Natal

3040 - A Árvore de Natal
n = leia_inteiro

para i de 1 até n faça
  a = leia_inteiros(" ")
  h, d, g = a[1], a[2], a[3]
  se h >= 200 e h <= 300 e d >= 50 e g >= 150 então
    escreva "Sim"
  senão
    escreva "Nao"
  fim
fim

3042 - Desviando de Árvores de Natal

Descrição do Problema: 3042 - Desviando de Árvores de Natal

3042 - Desviando de Árvores de Natal
var m := leia_inteiro
enquanto m > 0 faça
  var p := 2
  var cont := 0
  para i de 1 até m faça
    linha = leia_texto
    escolha linha
      caso "0 1 1" se p <> 1 => cont := cont + abs(p - 1) p := 1
      caso "1 0 1" se p <> 2 => cont := cont + abs(p - 2) p := 2
      caso "1 1 0" se p <> 3 => cont := cont + abs(p - 3) p := 3
      caso _ =>
    fim
  fim
  escreva cont
  m := leia_inteiro
fim

3043 - Festa Junina

Descrição do Problema: 3043 - Festa Junina

3043 - Festa Junina
flat(a: Lista[Lista[Lista[Inteiro]]]) = para v em a, y em v gere y fim

var n, t := leia_inteiro, 0
enquanto n > 0 faca
  var valores := [para i de 1 ate n gere i fim]
  para i de 1 ate n faca
    nums = leia_inteiros(" ")
    valores := flat(valores.mapeie(v =>
      se v - nums == v ou v - [i] == v entao [v]
      senao [v - [i], v - nums]
      fim))
  fim
  t := t + 1
  r = valores.mapeie(_.tamanho).ordene.ultimo
  escreva "Teste {t}
          |{r}
          |"
  n := leia_inteiro
fim

3046 - Dominó

Descrição do Problema: 3046 - Dominó

3046 - Dominó
1
2
3
n = leia_inteiro
r = (n + 1) * (n + 2) div 2
escreva r

3047 - A idade de Dona Mônica

Descrição do Problema: 3047 - A idade de Dona Mônica

3047 - A idade de Dona Mônica
1
2
3
m, a, b = leia_inteiro
c = m - (a + b)
escreva [a, b, c].ordene.último

3048 - Sequência Secreta

Descrição do Problema: 3048 - Sequência Secreta

3048 - Sequência Secreta
n = leia_inteiro
var a, s := 0
para i de 1 ate n faca
  v = leia_inteiro
  se v <> a entao
    a := v
    s := s + 1
  fim
fim
escreva s

3049 - Nota Cortada

Descrição do Problema: 3049 - Nota Cortada

3049 - Nota Cortada
1
2
3
4
b, t = leia_inteiro
soma = b + t
valor = se soma > 160 entao 1 senaose soma < 160 entao 2 senao 0 fim
escreva valor

3050 - Distância Entre Amigos

Descrição do Problema: 3050 - Distância Entre Amigos

3050 - Distância Entre Amigos
n = leia_inteiro
a = leia_inteiros(" ")
d(x, y: Inteiro) = y - x + a[x] + a[y]
var x, y, j := 1, 2, 1
var dxy := d(x, y)
para i de 3 ate n faca
  se a[i-1] >= a[x] + i - x entao j:= i - 1 fim
  se d(j, i) >= dxy entao
    x, y := j, i
    dxy := d(x, y)
  fim
fim
escreva dxy

3053 - Jogo Dos Copos

Descrição do Problema: 3053 - Jogo Dos Copos

3053 - Jogo Dos Copos
n = leia_inteiro
z = leia_texto

var a, b, c := z == "A", z == "B", z == "C"

para i de 1 ate n faça
  x = leia_inteiro
  escolha x
    caso 1 => a, b := b, a
    caso 2 => b, c := c, b
    caso _ => a, c := c, a
  fim
fim

se      a então escreva "A"
senãose b então escreva "B"
senão           escreva "C"
fim

3055 - Nota Esquecida

Descrição do Problema: 3055 - Nota Esquecida

3055 - Nota Esquecida
1
2
3
a, m = leia_inteiro
b = m * 2 - a
escreva b

3056 - Ponto do Meio

Descrição do Problema: 3056 - Ponto do Meio

3056 - Ponto do Meio
1
2
3
4
5
6
7
8
9
n = leia_inteiro
# pontos = (2 ^ n + 1) ^ 2
# lado = Lista(n, 1).injete(BigInt(1))((x, _) => 2 * x) + 1

var lado := BigInt(2)
para i de 1 ate n faca
  lado := 2 * lado - 1
fim
escreva lado * lado

3058 - Supermercado

Descrição do Problema: 3058 - Supermercado

3058 - Supermercado
1
2
3
4
5
6
7
8
9
n = leia_inteiro
var menor := 10000000.0
para i de 1 ate n faca
  a = leia_reais(" ")
  p, g = a[1], a[2]
  valor = p * 1000 / g
  se valor < menor entao menor := valor fim
fim
escreva menor formato "%.2f"

3059 - Pares de Números

Descrição do Problema: 3059 - Pares de Números

3059 - Pares de Números
pares(xs: Lista[Inteiro], cont, i, f: Inteiro): Inteiro =
  se xs <> [] então
    yi, yf = i - xs.cabeça, f - xs.cabeça
    ys = xs.cauda
    c = ys.descarte_enquanto(x => x < yi)
          .pegue_enquanto(x => x <= yf)
          .tamanho
    pares(ys, cont + c, i, f)
  senão
    cont
  fim

a = leia_inteiros(" ")
nums = leia_inteiros(" ").ordene
n, i, f = a[1], a[2], a[3]

escreva pares(nums, 0, i, f)

3060 - Parcelamento Sem Juros

Descrição do Problema: 3060 - Parcelamento Sem Juros

3060 - Parcelamento Sem Juros
1
2
3
4
5
n, p = leia_inteiro
parcela = n div p
resto = n mod p
para i de 1 ate resto faca escreva parcela + 1 fim
para i de resto + 1 ate p faca escreva parcela fim

3065 - Calculando

Descrição do Problema: 3065 - Calculando

3065 - Calculando
var m:= leia_inteiro
var teste := 0
enquanto m > 0 faca
  x = leia_textos("+").mapeie(_.divida("-").mapeie(_.inteiro))
  y = x.mapeie(a => a.cauda.injete(a.cabeca)(_ - _)).injete(0)(_ + _)
  teste := teste + 1
  escreva "Teste {teste}"
  escreva y
  escreva ""
  m := leia_inteiro
fim

3068 - Meteoros

Descrição do Problema: 3068 - Meteoros

3068 - Meteoros
var linha := leia_inteiros(" ")
var t := 0
enquanto linha <> [0, 0, 0, 0] faca
  t := t + 1
  x1, y1, x2, y2 = linha[1], linha[2], linha[3], linha[4]
  n = leia_inteiro
  var cont := 0
  para i de 1 ate n faca
    a = leia_inteiros(" ")
    x, y = a[1], a[2]
    se x1 <= x e x <= x2 e y1 >= y e y >= y2 entao
      cont := cont + 1
    fim
  fim
  escreva "Teste {t}"
  escreva cont
  linha := leia_inteiros(" ")
fim

3076 - Exercício de História

Descrição do Problema: 3076 - Exercício de História

3076 - Exercício de História
1
2
3
4
5
6
var n := leia_inteiro
enquanto n > 0 faca
  seculo = (n + 99) div 100
  escreva seculo
  n := leia_inteiro
fim

3084 - Relógio Antigo

Descrição do Problema: 3084 - Relógio Antigo

3084 - Relógio Antigo
1
2
3
4
5
6
7
var a := leia_inteiros(" ")
enquanto nao eof faca
  hora   = a[1] div 30
  minuto = a[2] div 6
  escreva "{hora formato "%02d"}:{minuto formato "%02d"}"
  a := leia_inteiros(" ")
fim

3088 - Correção de Texto

Descrição do Problema: 3088 - Correção de Texto

3088 - Correção de Texto
1
2
3
4
5
6
7
var a := leia_texto
enquanto a <> "" faca
  s = a.split(" ,").mkString(",")
       .split(" \\.").mkString(".")
  escreva s
  a := leia_texto
fim

3089 - Presentes de Natal

Descrição do Problema: 3089 - Presentes de Natal

3089 - Presentes de Natal
var n := leia_inteiro
enquanto n > 0 faca
  x = leia_inteiros(" ")
  a = x.ordene
  var menor, maior := a[n] + a[n+1]
  para i de 1 ate n faca
    b = a[i] + a[2 * n - i + 1]
    se b < menor entao menor := b
    senaose b > maior entao maior := b
    fim
  fim
  escreva "{maior} {menor}"
  n := leia_inteiro
fim

3090 - Campo de Batalha

Descrição do Problema: 3090 - Campo de Batalha

3090 - Campo de Batalha
a = leia_inteiros(" ")
n, m, s = a[1], a[2], a[3]
var ex1, ex2 := 0
para i de 1 até s faça
  b = leia_inteiros(" ")
  x, y, h = b[1], b[2], b[3]
  se y / m > x / n então
    ex1 := ex1 + h
  senão
    ex2 := ex2 + h
  fim
fim
escreva "{ex1} {ex2}"

3091 - Resto 1.0

Descrição do Problema: 3091 - Resto 1.0

3091 - Resto 1.0
a, b = leia_inteiro
escreva a mod b

3092 - Truco da Galera 2.0

Descrição do Problema: 3092 - Truco da Galera 2.0

3092 - Truco da Galera 2.0
n = leia_inteiro
para i de 1 ate n faca
  s = leia_texto
  var q, j, k, a := 0
  para c em s faca
    escolha c
      caso 'Q'          => q := q + 1
      caso 'J' se j < q => j := j + 1
      caso 'K' se k < j => k := k + 1
      caso 'A' se a < k => a := a + 1
      caso _ =>
    fim
  fim
  se a > 0 entao
    escreva "Agora vai"
  senao
    escreva "Agora apertou sem abracar"
  fim
fim

3093 - Truco da Galera 1.0

Descrição do Problema: 3093 - Truco da Galera 1.0

3093 - Truco da Galera 1.0
n = leia_inteiro
para i de 1 ate n faca
  s = leia_texto
  t = s.tamanho - 4
  se (s - "QJKA").tamanho == t entao
    escreva "Aaah muleke"
  senao
    escreva "Ooo raca viu"
  fim
fim

3094 - Truco da Galera 3.0

Descrição do Problema: 3094 - Truco da Galera 3.0

3094 - Truco da Galera 3.0
n = leia_inteiro
para i de 1 ate n faca
  s = leia_texto
  var sete, q, j, k, a := 0
  para c em s faca
    escolha c
      caso '7'             => sete := sete + 1
      caso 'Q' se q < sete =>    q := q + 1
      caso 'J' se j < q    =>    j := j + 1
      caso 'K' se k < j    =>    k := k + 1
      caso 'A' se a < k    =>    a := a + 1
      caso _ =>
    fim
  fim
  escreva s.tamanho - a * 5
fim