Desafios

#11: Primos em Pi

Primos em Pi Introdução O número pi (π) é uma das mais famosas e mais facilmente reconhecidas constantes matemáticas. Originalmente definido como o resultado da divisão da circunferência de um círculo pelo seu diâmetro, π é um número irracional e a sua representação decimal é infinita e não se repete. Instruções Este desafio consiste em encontrar a sequência mais longa de números primos (entre 2 e 9973) no primeiro 1 milhão de casas decimais de π.

Continue lendo

#10: Turing Machine

Turing Machine Introdução Uma Máquina de Turing é um modelo computacional matemático que define uma máquina abstrata. Essa máquina manipula símbolos numa fita de papel de acordo com uma tabela de regras simples. Apesar da simplicidade do modelo, é possível construir uma Máquina de Turing capaz de simular qualquer algoritmo computacional. Funcionamento Uma máquina de Turing lê os dados de uma “fita” infinita, caracter por caracter (também conhecidos como “símbolos” na terminologia original) A máquina está sempre em um determinado “estado” (estado inicial == string “0”).

Continue lendo

#9: Big base!

Big base! Descrição Escreva um programa que leia um arquivo texto contendo uma lista de três numeros por linha: base_entrada, base_saida e numero_entrada e imprima o número fornecido (já na base de entrada) convertido para a base de saída. O formato exato da entrada é: base_entrada base_saida numero_entrada Exemplo: 10 16 1500 36 10 GOODBYE 36 16 HELLOWORLD 10 2 32452867 2 10 1234 Exemplo de saida para a entrada acima:

Continue lendo

#8: Frações simples

Frações simples Descrição Escreva um programa que leia um arquivo texto contendo uma lista de frações em ASCII (uma por linha) e produza na saída a versão simplificada de cada fração. Números simples assumem denominador 1 (apenas imprima o número). Em caso de erros na entrada (como divisão por zero), imprima “ERR” em maíusculas. Por exemplo, data a entrada abaixo: 14/3 3/8 4/8 4/3 5 10/0 A seguinte saída seria produzida:

Continue lendo

#7: Unix tac

TAC! Em Unix (e Linux), o comando cat mostra o conteúdo de um arquivo texto na saída padrão. Um comando similar (e menos conhecido) é o tac, que exibe um arquivo texto invertendo as linhas (da última para a primeira). O problema Implemente o comando tac na sua linguagem e bibliotecas preferidas. Condições de funcionamento: O programa deve ler um arquivo do disco especificado na linha de comando e imprimir o arquivo linha a linha, começando pela última linha e terminando na primeira.

Continue lendo

#6: Anagramas

Anagramas! Um anagrama é uma palavra ou frase formada com o re-arranjo de todas as letras de uma outra palavra ou frase (sem sobra ou falta). Exemplos: A palavra barco é um anagrama da palavra cobra (todas as letras de “cobra” usadas em “barco). A palavra mar não é um anagrama da palavra roma (a letra “o” em “roma” não foi usada). A palavra sal não é um anagrama da palavra mal (a letra “s” de “sal” não existe em “mal”).

Continue lendo

#5: Funcionários

Processando as informações da empresa: Considere, como exemplo, o seguinte arquivo funcionarios.json, com o seguinte conteúdo: { "funcionarios":[ { "id":0, "nome":"Marcelo", "sobrenome":"Silva", "salario":3200.00, "area":"SM" }, { "id":1, "nome":"Washington", "sobrenome":"Ramos", "salario":2700.00, "area":"UD" }, { "id":2, "nome":"Sergio", "sobrenome":"Pinheiro", "salario":2450.00, "area":"SD" }, { "id":3, "nome":"Bernardo", "sobrenome":"Costa", "salario":3700.00, "area":"SM" }, { "id":4, "nome":"Cleverton", "sobrenome":"Farias", "salario":2750.00, "area":"SD" }, { "id":5, "nome":"Abraão", "sobrenome":"Campos", "salario":2550.00, "area":"SD" }, { "id":6, "nome":"Letícia", "sobrenome":"Farias", "salario":2450.00, "area":"UD" }, { "id":7, "nome":"Fernando", "sobrenome":"Ramos", "salario":2450.

Continue lendo

#4: Xadrez

Contabilizar Peças de Xadrez. O xadrez é um jogo de tabuleiro estratégico, disputado por dois jogadores e que consiste em um tabuleiro com um arranjo de 8 linhas e colunas formando 64 posições diferentes como uma matriz [8 x 8]. Existem 6 diferentes tipos de peças no xadrez e cada tipo possui uma quantidade (destacada por parênteses): Peão (8) Bispo (2) Cavalo (2) Torre (2) Rainha (1) Rei (1) Um tabuleiro completo possui trinta e duas peças.

Continue lendo

#3: Palíndromos

Números palindrômicos. Um palíndromo é uma palavra ou expressão que pode ser lida da esquerda para a direita ou da direita para a esquerda mantendo o mesmo significado. Um exemplo de palíndromo é a palavra “reviver”. Neste desafio, a idéia é imprimir todos os números palindrômicos entre dois outros números. Tal como as palavras, os números palindrômicos mantém o mesmo valor se lidos de trás para a frente. Exemplo 1: Dado o número inicial 1 e número final 20, o resultado seria: 1, 2, 3, 4, 5, 6, 7, 8, 9, 11.

Continue lendo

#2: Primos

Listando números primos. Escreva um programa para listar todos os números primos entre 1 e 10000, na linguagem de sua preferência. Se não souber por qual linguagem começar, recomendamos a leitura deste post no nosso site. Pontuação 20 pontos.

Continue lendo

#1: Git básico

Git básico Objetivo Neste desafio, o seu objetivo é adicionar o seu nome à lista de participantes do grupo no GitHub. Instruções Leia o tutorial sobre Git. Crie sua conta no GitHub (ou use uma conta previamente criada, se já existir). Visite o projeto do site do grupo e faça o fork do projeto para a sua conta no GitHub clicando no botão Fork no canto superior direito da tela.

Continue lendo