2100
Faixa de problemas: 2100-2199
Total: 38 problemas
2108 - Contando Caracters
Descrição do Problema: 2108 - Contando Caracters
2108 - Contando Caracters |
---|
| var s := leia_textos(" ")
var maior := ""
enquanto s.cabeça <> "0" faça
escreva s.mapeie(_.tamanho).junte("-")
maior := s.injete(maior)((a,b) => se a.tamanho > b.tamanho entao a senao b fim)
s := leia_textos(" ")
fim
escreva ""
escreva "The biggest word: {maior}"
|
2116 - Diversão dos Alunos
Descrição do Problema: 2116 - Diversão dos Alunos
2116 - Diversão dos Alunos |
---|
| a = leia_inteiros(" ").ordene
n, m = a[1], a[2]
crivo(nums: Lista[Inteiro]): Lista[Inteiro] = escolha nums
caso [] => []
caso num =>
c = num.cabeca
c :: crivo(num.selecione(x => x mod c <> 0))
fim
ints = para i de 2 ate m gere i fim
primos = crivo(ints).inverta
p1 = primos.descarte_enquanto(_ > n).cabeca
p2 = primos.descarte_enquanto(_ > m).cabeca
escreva p1 * p2
|
2126 - Procurando Subsequências
Descrição do Problema: 2126 - Procurando Subsequências
2126 - Procurando Subsequências |
---|
| var t := 0
var n1, n2 := leia_texto
enquanto nao eof faça
var cont, pos := 0
para i de 0 até n2.tamanho - n1.tamanho faça
var sub := verdadeiro
para j de 1 até n1.tamanho faça
sub := sub e n1[j] == n2[i+j]
fim
se sub então
cont := cont + 1
pos := i + 1
fim
fim
t := t + 1
escreva "Caso #{t}:"
se cont > 0 então
escreva "Qtd.Subsequencias: {cont}"
escreva "Pos: {pos}"
senão
escreva "Nao existe subsequencia"
fim
escreva ""
n1, n2 := leia_texto
fim
|
2129 - Fatorial
Descrição do Problema: 2129 - Fatorial
2129 - Fatorial |
---|
| remove_zeros(a: Long): Long =
se a mod 10 == 0 e a > 0
entao remove_zeros(a div 10)
senao a
fim
var a: Long := 1
num =
para i de 1 ate 1000000 gere
var j := remove_zeros(i)
a := remove_zeros(a * j) mod 1000000
a mod 10
fim.mutável
var t := 0
var n := leia_inteiro
enquanto n > 0 faça
t := t + 1
escreva "Instancia {t}"
escreva num[n]
escreva ""
n := leia_inteiro
fim
|
2136 - Amigos do Habay
Descrição do Problema: 2136 - Amigos do Habay
2136 - Amigos do Habay |
---|
| limpe(lista: Lista[Texto]) =
lista.ordene.divida_quando(_ <> _).mapeie(_.cabeca)
var yes, no := Lista(0, "")
var amigo := ""
var entrada := leia_textos(" ")
enquanto entrada[1] <> "FIM" faca
se entrada[2] == "YES" entao
yes := entrada[1] :: yes
se entrada[1].tamanho > amigo.tamanho entao
amigo := entrada[1]
fim
senao
no := entrada[1] :: no
fim
entrada := leia_textos(" ")
fim
escreva limpe(yes).junte("\n")
escreva limpe(no).junte("\n")
escreva ""
escreva "Amigo do Habay:"
escreva amigo
|
2137 - A Biblioteca do Senhor Severino
Descrição do Problema: 2137 - A Biblioteca do Senhor Severino
2137 - A Biblioteca do Senhor Severino |
---|
| var n := leia_inteiro
enquanto n > 0 faca
s = leia_textos(n)
escreva s.ordene.junte("\n")
n := leia_inteiro
fim
|
2138 - Dígito Mais Frequente
Descrição do Problema: 2138 - Dígito Mais Frequente
2138 - Dígito Mais Frequente |
---|
| var a := leia_texto
enquanto nao eof faça
grupos = a.ordene.divida_quando(_ <> _).ordene(_.tamanho).inverta
mais_frequente = grupos.cabeça.cabeça
escreva mais_frequente
a := leia_texto
fim
|
2139 - Natal de Pedrinho
Descrição do Problema: 2139 - Natal de Pedrinho
2139 - Natal de Pedrinho |
---|
| var entrada := leia_texto
var dias := 0
enquanto nao eof faça
mes, dia = entrada.divida(" ")[1].inteiro, entrada.divida(" ")[2].inteiro
escolha mes
caso 1 => dias := (31 - dia) + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 25
caso 2 => dias := (29 - dia) + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 25
caso 3 => dias := (31 - dia) + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 25
caso 4 => dias := (30 - dia) + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 25
caso 5 => dias := (31 - dia) + 30 + 31 + 31 + 30 + 31 + 30 + 25
caso 6 => dias := (30 - dia) + 31 + 31 + 30 + 31 + 30 + 25
caso 7 => dias := (31 - dia) + 31 + 30 + 31 + 30 + 25
caso 8 => dias := (31 - dia) + 30 + 31 + 30 + 25
caso 9 => dias := (30 - dia) + 31 + 30 + 25
caso 10 => dias := (31 - dia) + 30 + 25
caso 11 => dias := (30 - dia) + 25
caso _ => dias := -2
fim
se ((mes == 12) e (dia <= 25)) então
dias := 25 - dia
senãose ((mes == 12) e (dia > 25)) então
dias := -1
fim
se dias == 0 então
escreva "E natal!"
senãose dias == 1 então
escreva "E vespera de natal!"
senãose dias == -1 então
escreva "Ja passou!"
senãose dias > 1 então
escreva "Faltam " + dias + " dias para o natal!"
fim
entrada := leia_texto
fim
|
2140 - Duas Notas
Descrição do Problema: 2140 - Duas Notas
2140 - Duas Notas |
---|
| trocos = [4, 10, 20, 40, 50, 200, 7, 12, 22, 52, 102, 15, 25,
55, 105, 30, 60, 110, 70, 120, 150]
var a:= leia_inteiros(" ")
enquanto a <> [0,0] faça
se trocos.contém(a[2]-a[1]) então
escreva "possible"
senão
escreva "impossible"
fim
a := leia_inteiros(" ")
fim
|
2143 - A Volta do Radar
Descrição do Problema: 2143 - A Volta do Radar
2143 - A Volta do Radar |
---|
| var t := leia_inteiro
enquanto t > 0 faca
para i de 1 ate t faca
n = leia_inteiro
se n mod 2 == 0 entao
escreva 2 * n - 2
senao
escreva n div 2 * 4 + 1
fim
fim
t := leia_inteiro
fim
|
2146 - Senha
Descrição do Problema: 2146 - Senha
2146 - Senha |
---|
| var n := leia_inteiro
enquanto n > 0 faça
escreva n - 1
n := leia_inteiro
fim
|
2147 - Galopeira
Descrição do Problema: 2147 - Galopeira
2147 - Galopeira |
---|
| c = leia_inteiro
para i de 1 ate c faca
t = leia_texto
escreva t.tamanho / 100 formato "%.2f"
fim
|
2149 - Sequência do Tio Phill Bonati
Descrição do Problema: 2149 - Sequência do Tio Phill Bonati
2149 - Sequência do Tio Phill Bonati |
---|
| vet(x, y: BigInt, n: Inteiro): Lista[BigInt] =
se n >= 18 então []
senão
c = se n mod 2 == 0 então x * y senão x + y fim
c :: vet(y, c, n + 1)
fim
v = 0 :: 1 :: vet(0, 1, 3)
var a := leia_inteiro
enquanto a > 0 faça
escreva v[a]
a := leia_inteiro
fim
|
2150 - Vogais Alienígenas
Descrição do Problema: 2150 - Vogais Alienígenas
2150 - Vogais Alienígenas |
---|
| var vogais, entrada := leia_texto
enquanto nao eof faca
var linha := entrada
var diff := linha - vogais
enquanto diff <> linha faca
linha := linha - vogais
diff := linha - vogais
fim
escreva entrada.tamanho - linha.tamanho
vogais, entrada := leia_texto
fim
|
2152 - Pepe, Já Tirei a Vela!
Descrição do Problema: 2152 - Pepe, Já Tirei a Vela!
2152 - Pepe, Já Tirei a Vela! |
---|
| n = leia_inteiro
para i de 1 ate n faca
a = leia_inteiros(" ")
hora, minuto, porta = a[1], a[2], a[3]
horario = "{hora formato "%02d"}:{minuto formato "%02d"}"
se porta == 1 entao
escreva "{horario} - A porta abriu!"
senao
escreva "{horario} - A porta fechou!"
fim
fim
|
2153 - Sanduicheiche
Descrição do Problema: 2153 - Sanduicheiche
2153 - Sanduicheiche |
---|
| var palavra := leia_texto
enquanto não eof faça
var resposta := palavra
palavra := palavra.inverta
para i de 1 até palavra.tamanho faça
a = palavra.pegue(i)
b = palavra.descarte(i).pegue(i)
se a == b então
resposta := palavra.descarte(i).inverta
fim
fim
escreva resposta
palavra := leia_texto
fim
|
2154 - Derivada de Polinômios
Descrição do Problema: 2154 - Derivada de Polinômios
2154 - Derivada de Polinômios |
---|
| expoente(n: Inteiro) = se n > 1 entao n.texto senao "" fim
var t := leia_inteiro
enquanto t > 0 faça
polinomio = leia_textos(" +").selecione(_ <> "").mapeie(termo =>
termo.divida("x").mapeie(_.inteiro)
)
derivada = polinomio.mapeie(termo => (termo[1] * termo[2], termo[2] - 1))
resposta = derivada.mapeie(termo => "{termo.primeiro}x{expoente(termo.segundo)}").junte(" + ")
escreva resposta
t := leia_inteiro
fim
|
2157 - Sequência Espelho
Descrição do Problema: 2157 - Sequência Espelho
2157 - Sequência Espelho |
---|
| c = leia_inteiro
para i de 1 ate c faca
a = leia_inteiros(" ")
m, n = a[1], a[2]
s = para j de m ate n gere j fim.junte("")
escreva s + s.inverta
fim
|
2158 - Ajudando o Tio Cláudio
Descrição do Problema: 2158 - Ajudando o Tio Cláudio
2158 - Ajudando o Tio Cláudio |
---|
| var c := 0
var entrada := leia_texto
enquanto nao eof faca
a = entrada.divida(" ").mapeie(i => BigInt(i))
fp, fh = a[1], a[2]
lig = (5 * fp + 6 * fh) div 2
ato = 2 + lig - fp - fh
c := c + 1
escreva "Molecula #{c}.:."
escreva "Possui {ato} atomos e {lig} ligacoes"
escreva ""
entrada := leia_texto
fim
|
2159 - Número Aproximado de Primos
Descrição do Problema: 2159 - Número Aproximado de Primos
2159 - Número Aproximado de Primos |
---|
| n = leia_inteiro
p = n / log(n)
m = 1.25506 * p
escreva "{p formato "%.1f"} {m formato "%.1f"}"
|
Descrição do Problema: 2160 - Nome no Formulário
2160 - Nome no Formulário |
---|
| s = leia_texto
se s.tamanho <= 80 então
escreva "YES"
senão
escreva "NO"
fim
|
2161 - Raiz Quadrada de 10
Descrição do Problema: 2161 - Raiz Quadrada de 10
2161 - Raiz Quadrada de 10 |
---|
| n = leia_inteiro
var fracao := 0.0
para i de 1 até n faça
fracao := 1 / (6 + fracao)
fim
escreva (3 + fracao) formato "%.10f"
|
2162 - Picos e Vales
Descrição do Problema: 2162 - Picos e Vales
2162 - Picos e Vales |
---|
| n = leia_inteiro
nums = leia_inteiros(" ")
op = se nums[1] > nums[2] entao
(a, b: Inteiro) => a <= b
senão
(a, b: Inteiro) => a >= b
fim
saida = 1 :: para i de 2 até n, par em [i mod 2 == 0] se
par e op(nums[i - 1], nums[i]) ou
não par e op(nums[i], nums[i - 1]) gere 0 fim
escreva saida.último
|
2163 - O Despertar da Força
Descrição do Problema: 2163 - O Despertar da Força
2163 - O Despertar da Força |
---|
| a = leia_inteiros(" ")
n, m = a[1], a[2]
var l1 := ""
var l2, l3 := leia_texto
var x, y := 0
para i de 2 ate n - 1 faca
l1, l2, l3 := l2, l3, leia_texto
se l2.contains("7 42 7") e l1.contains("7 7 7") e l3.contains("7 7 7") entao
p1, p2, p3 = l1.divida(" "), l2.divida(" "), l3.divida(" ")
para j de 2 ate m - 1 faca
se p1[j-1] == "7" e p1[j] == "7" e p1[j+1] == "7" e
p2[j-1] == "7" e p2[j] == "42" e p2[j+1] == "7" e
p3[j-1] == "7" e p3[j] == "7" e p3[j+1] == "7" entao
x, y := i, j
fim
fim
fim
fim
escreva "{x} {y}"
|
2164 - Fibonacci Rápido
Descrição do Problema: 2164 - Fibonacci Rápido
2164 - Fibonacci Rápido |
---|
| n = leia_inteiro
r5 = 5 ^ 0.5
fib = (((1 + r5) / 2) ^ n - ((1 - r5) / 2) ^ n) / r5
escreva "{fib formato "%.1f"}"
|
2165 - Tuitando
Descrição do Problema: 2165 - Tuitando
2165 - Tuitando |
---|
| n = leia_texto
se n.tamanho <= 140 então
escreva "TWEET"
senão
escreva "MUTE"
fim
|
2166 - Raiz Quadrada de 2
Descrição do Problema: 2166 - Raiz Quadrada de 2
2166 - Raiz Quadrada de 2 |
---|
| n = leia_inteiro
var r := 0.0
para i de 1 até n faça
r := 1 / (2 + r)
fim
escreva (r + 1) formato "%.10f"
|
2167 - Falha do Motor
Descrição do Problema: 2167 - Falha do Motor
2167 - Falha do Motor |
---|
| n = leia_inteiro
a = leia_inteiros(" ")
var queda := 0
para i de 2 até n se queda == 0 faça
se a[i]< a[i-1] então
queda := i
fim
fim
escreva queda
|
2168 - Crepúsculo em Portland
Descrição do Problema: 2168 - Crepúsculo em Portland
2168 - Crepúsculo em Portland |
---|
| n = leia_inteiro
res = Matriz.mutável(n, n, 'S')
mat = para i de 1 até n + 1 gere leia_inteiros(" ") fim
para i de 1 até n, j de 1 até n faça
se mat[i][j] + mat[i][j+1] + mat[i+1][j] + mat[i+1][j+1] < 2 então
res[i][j] := 'U'
fim
fim
para linha em res faça
escreva linha.junte("")
fim
|
2170 - Juros do Projeto
Descrição do Problema: 2170 - Juros do Projeto
2170 - Juros do Projeto |
---|
| var t := 1
var a := leia_texto
enquanto nao eof faça
b = a.divida(" ").mapeie(_.real)
x, y = b[1], b[2]
juros = (y / x - 1) * 100
escreva "Projeto {t}:"
escreva "Percentual dos juros da aplicacao: {juros formato "%.2f"} %"
escreva ""
a := leia_texto
t := t + 1
fim
|
2172 - Evento
Descrição do Problema: 2172 - Evento
2172 - Evento |
---|
| var entrada := leia_inteiros(" ")
enquanto entrada[2] <> 0 faça
escreva entrada[1] * entrada[2]
entrada := leia_inteiros(" ")
fim
|
2174 - Coleção de Pomekon
Descrição do Problema: 2174 - Coleção de Pomekon
2174 - Coleção de Pomekon |
---|
| n = leia_inteiro
nomes = leia_textos(n).ordene
var pokemons := 150
para i de 2 até n faça
se nomes[i] <> nomes[i - 1] então
pokemons := pokemons - 1
fim
fim
escreva "Falta(m) {pokemons} pomekon(s)."
|
2175 - Qual o Mais Rápido?
Descrição do Problema: 2175 - Qual o Mais Rápido?
2175 - Qual o Mais Rápido? |
---|
| a = leia_reais(" ")
o, b, i = a[1], a[2], a[3]
se o < b e o < i entao
escreva "Otavio"
senaose b < o e b < i entao
escreva "Bruno"
senaose i < o e i < b entao
escreva "Ian"
senao
escreva "Empate"
fim
|
2176 - Paridade
Descrição do Problema: 2176 - Paridade
2176 - Paridade |
---|
| a = leia_texto
imprima a
escreva a.selecione(_ == '1').tamanho mod 2
|
2180 - Viagem à Marte na Velocidade de Primo
Descrição do Problema: 2180 - Viagem à Marte na Velocidade de Primo
2180 - Viagem à Marte na Velocidade de Primo |
---|
| primo(n: Inteiro): Lógico =
n mod 2 > 0 e (para i de 2 ate raiz(n).inteiro se n mod i == 0 gere i fim == [])
primos(inicio, quantos: Inteiro): Lista[Inteiro] =
se quantos > 0 então
se primo(inicio) então
inicio :: primos(inicio + 1, quantos - 1)
senão
primos(inicio + 1, quantos)
fim
senão
[]
fim
n = leia_inteiro
soma = primos(n, 10).injete(0)(_ + _)
horas = 60000000 div soma
dias = horas div 24
escreva "{soma} km/h"
escreva "{horas} h / {dias} d"
|
2187 - Bits Trocados
Descrição do Problema: 2187 - Bits Trocados
2187 - Bits Trocados |
---|
| var t := 0
var v := leia_inteiro
enquanto v > 0 faca
i = v div 50
j = v mod 50 div 10
k = v mod 10 div 5
l = v mod 5
t := t + 1
escreva "Teste {t}"
escreva "{i} {j} {k} {l}"
escreva ""
v := leia_inteiro
fim
|
2188 - Macaco-prego
Descrição do Problema: 2188 - Macaco-prego
2188 - Macaco-prego |
---|
| var teste := 0
var n := leia_inteiro
enquanto n > 0 faça
var x, v := -10000
var y, u := 10000
para i de 1 até n faça
entrada = leia_inteiros(" ")
se entrada[1] > x então x := entrada[1] fim
se entrada[2] < y então y := entrada[2] fim
se entrada[3] < u então u := entrada[3] fim
se entrada[4] > v então v := entrada[4] fim
fim
teste := teste + 1
escreva "Teste {teste}"
se x < u e v < y então
escreva "{x} {y} {u} {v}"
senão
escreva "nenhum"
fim
escreva ""
n := leia_inteiro
fim
|
2189 - Quermesse
Descrição do Problema: 2189 - Quermesse
2189 - Quermesse |
---|
| comparar(a, b: Inteiro) =
se a == b ou a < 0 então
- abs(a)
senão
a + 1
fim
var n := leia_inteiro
var t := 0
enquanto n > 0 faça
ingressos = leia_inteiros(" ")
t := t + 1
escreva "Teste {t}"
escreva - ingressos.injete(1)(comparar)
escreva ""
n := leia_inteiro
fim
|