Atividades
#22 - Sistema de conversão de decimal para binário e vice-versa (Decimal to binary conversion system and vice versa)
- Detalhes
- Escrito por: Administrator
- Categoria: Problemas
- Acessos: 2272
Pretende-se definir um sistema de conversão de um número inteiro em decimal para binário e vice-versa.
It is intended to define a system of converting an integer from decimal to binary and vice versa.
Exemplo (example):
3 (10) = 11 (2)
#21 - Descobrir o dia da semana em que nasceu (Discover the day of the week you were born)
- Detalhes
- Escrito por: Administrator
- Categoria: Problemas
- Acessos: 2246
Dada uma determinada data de nascimento defina um processo que permita obter o dia da semana em que essa pessoa nasceu.
Given a certain date of birth, define a process that allows you to obtain the day of the week on which that person was born.
Por exemplo (for example):
23-04-1971 - sexta-feira (friday)
#20 - Multiplicar 2 números inteiros sem utilizar o operador de multiplicação (Multiply 2 integers without using the multiplication operator)
- Detalhes
- Escrito por: Administrator
- Categoria: Problemas
- Acessos: 1916
Pretende-se efetuar a multiplicação de dois números inteiros sem utilizar o operador de multiplicação.
Exemplo com o operador de multiplicação:
2 x 3 = 6
You want to multiply two integers without using the multiplication operator.
Example with the multiplication operator:
2 x 3 = 6
#19 - Construir um muro (build a wall)
- Detalhes
- Escrito por: Administrator
- Categoria: Problemas
- Acessos: 2287
Considere as dimensões de um tijolo: 5x22x10 cm
O nosso vizinho quer construir um muro com uma altura de 150 cm e que permita murar um terreno com uma determinada área. Sabendo que para um saco de cimento varia a quantidade de tijolos a assentar, deve-se utilizar a seguinte dedução:
- saber o tamanho da argamassa que se utilizará entre cada tijolo;
- multiplicar a altura pelo comprimento e profundidade, para calcular o volume de argamassa.
Considere que em regra geral 1 saco de cimento, no geral assenta no mínimo entre 9m2 a um máximo de 15m2.
Qual a quantidade de tijolos, de cimento e areia que vamos precisar?
Como preparar uma argamassa consoante o tipo de utilização: ver aqui..
Nota: a argamassa base é uma mistura de água, areia e cimento.
Consider the dimensions of a brick: 5x22x10 cm
Our neighbor wants to build a wall with a height of 150 cm that will allow him to enclose a plot of land with a certain area. Knowing that the number of bricks to be laid varies for a bag of cement, the following deduction must be used:
- know the size of the mortar to be used between each brick;
- Multiply the height by the length and depth to calculate the mortar volume.
Consider that, as a general rule, 1 bag of cement, in general, settles between a minimum of 9m2 and a maximum of 15m2.
How much bricks, cement and sand will we need?
How to prepare a mortar depending on the type of use: see here..
Note: the base mortar is a mixture of water, sand and cement.
#18 - 3 caixas (3 boxes)
- Detalhes
- Escrito por: Administrator
- Categoria: Problemas
- Acessos: 2479
Podemos considerar que duas das caixas têm o formato de um cubo.
Sabemos que a primeira caixa, a mais pequena, tem metade do volume da caixa média e a caixa grande tem uma área quatro vezes superior ao da caixa média.
Considere que o comprimento da aresta da caixa grande é de 10 cm.
Qual o volume da caixa pequena e o comprimento da aresta da caixa média?
We can consider that two boxes are shaped like a cube.
We know that the first box, the smallest, has half the volume of the average box and the large box has an area four times larger than the average box.
Assume that the length of the edge of the large box is 10 cm.
What is the volume of the small box and the edge length of the medium box?
#17 - Números sortudos (lucky numbers)
- Detalhes
- Escrito por: Administrator
- Categoria: Problemas
- Acessos: 2654
Um dos problemas da final das Olimpíadas Nacionais de Informática do ano 2016. Para compreender bem o problema devemos ler o enunciado original (To understand the problem well we must read the original statement).
"Muitas culturas têm superstições com números. Em Portugal, tal como noutros países ocidentais, o 13 é considerado um número azarado. Em muitos países do este Asiático o número do azar é o 4, sendo evitado a todos os custos, pois a maneira como é pronunciado é muita semelhante à palavra morte. Já na Rússia o número a evitar é o 40. Estas superstições são tão fortes que os números são evitados quando possível. Existem aviões sem fila 13, prédios sem 13º andar e e urbanizações onde o número da habitação passa diretamente do 12 para o 14.
Num qualquer país onde o número do azar seja A, um número sortudo é um número inteiro positivo que não tenha nenhuma ocorrência de A nos seus dígitos. Por exemplo, se A=13, os números 14, 123, 5153 ou 789 seriam números sortudos, ao passo que 13, 1132, 513 ou 13913 não o seriam.
Existem mesmo muitos números sortudos! Por exemplo, a sequência de números sortudos na China (onde A=4) é a seguinte:
1 2 3 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 25 26 ...
Se num prédio chinês apenas fossem usados números sortudos, o andar marcado como 16º seria na realidade o 14º andar, ou seja, o 16 é o 14º número da sequência de números sortudos. E se estivesses por exemplo no andar marcado como 80, qual seria o verdadeiro andar? No fundo o que queres saber é, dado um qualquer número sortudo, qual a sua posição, ou o seu número de ordem, na sequência crescente de números sortudos.
Tens de fazer um programa para te ajudar a resolver este dilema! Claro que gostavas que o programa fosse usável em qualquer parte do mundo, e por isso tem de aceitar um qualquer número azarado a evitar.
O problema é: dado um número do azar A e Q questões, cada uma com um número sortudo Ni, a tua tarefa é calcular qual a posição Pi (nº ordem) de cada um dos Ni na sequência de números sortudos, ou seja, números que não contenham ocorrências de A."
Many cultures have superstitions about numbers. In Portugal, as in other Western countries, 13 is considered an unlucky number. In many East Asian countries, the unlucky number is 4, which is avoided at all costs, as the way it is pronounced is very similar to the word death. In Russia, the number to avoid is 40. These superstitions are so strong that numbers are avoided when possible. There are planes without a queue 13, buildings without a 13th floor and urbanizations where the number of dwellings goes directly from 12 to 14.
In any country where the unlucky number is A, a lucky number is a positive integer that does not have any occurrence of A in its digits. For example, if A=13, the numbers 14, 123, 5153 or 789 would be lucky numbers, while 13, 1132, 513 or 13913 would not be.
There are really many lucky numbers! For example, the sequence of lucky numbers in China (where A=4) is as follows: 1 2 3 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 25 26 ...
If in a Chinese building only lucky numbers were used, the floor marked as 16th would actually be the 14th floor, that is, 16 is the 14th number in the sequence of lucky numbers. And if you were, for example, on the floor marked 80, what would the real floor be? Basically, what you want to know is, given any lucky number, what is its position, or its order number, in the increasing sequence of lucky numbers.
You have to make a program to help you solve this dilemma! Of course you would like the program to be usable anywhere in the world, so you have to accept any unlucky number to avoid.
The problem is: given an unlucky number A and Q questions, each with a lucky number Ni, your task is to calculate the Pi position (order number) of each of the Ni in the sequence of lucky numbers, that is, numbers that do not contain occurrences of A.
#16 - Carros automáticos (automatic cars)
- Detalhes
- Escrito por: Administrator
- Categoria: Problemas
- Acessos: 129
Problema obtido das provas de seleção das Olimpíadas Nacionais de Informática (ONI) de 2022 (deve ser consultado o endereço incluso):
"As ONI estão a desenvolver um carro automático. Para testar o carro as ONI têm uma grelha quadrada de N por N onde o carro se movimenta entre células. Quando o carro está numa célula (x, y) só se pode movimentar para as células (x + 1, y) e (x, y + 1). Adicionalmente, há K células inacessíveis, sobre as quais o carro não pode estar. É garantido que as células (1, 1) e (N, N) são sempre acessíveis.
A figura seguinte ilustra um exemplo de uma grelha de 3 por 3 com duas células inacessíveis:
Para testar o carro é importante saber o número de caminhos distintos que o carro pode fazer começando na célula (1, 1) e terminando na célula (N, N) que evitam as K células inacessíveis. Como o número de caminhos pode ser muito grande, deves calcular a resposta módulo 109 + 7.
Para o exemplo da figura anterior existem dois caminhos distintos:
O Problema
Dadas as dimensões N de uma grelha e um conjunto de K células inacessíveis, calcula o número de caminhos distintos de (1, 1) até a (N, N) módulo 109 + 7".
"ONI are developing an automatic car. To test the car the ONI have a square grid N of N where the car moves between cells. When the car is in a cell (x, y) can only move to cells (x + 1, y) and (x, y + 1). Additionally, there are in inaccessible K cells, on which the car cannot be. It is guaranteed that cells (1, 1) and (N, N) are always accessible.
The following figure illustrates an example of a 3 by 3 grid with two inaccessible cells:
To test the car it is important to know the number of distinct paths that the car can make starting in the cell (1, 1) and ending in the cell (N, N) that prevent K inaccessible cells. As the number of paths can be very large, you must calculate the response module 109 + 7.
For the example of the previous figure there are two distinct paths:
The problem
Given the N dimensions of a grid and a set of inaccessible K cells, calculates the number of distinct paths from (1, 1) to (N, N) module 109 + 7".
#15 - Formar Equipas (Form Teams)
- Detalhes
- Escrito por: Administrator
- Categoria: Problemas
- Acessos: 124
Problema obtido das provas de seleção das Olimpíadas Nacionais de Informática (ONI) de 2022 (deve ser consultado o endereço incluso):
"Nos concursos de programação universitários os concorrentes participam em grupos de exatamente três concorrentes. Na Universidade das ONI há N alunos que querem competir em concursos de programação, onde N é um múltiplo de 3, sendo que os alunos são identificados por inteiros consecutivos entre 1 e N.
Infelizmente, existem exatamente N-1 conflitos entre alunos, formando aquilo que pode ser visto como um grafo de conflitos, onde existe uma ligação entre um par de alunos (a,b) se esses dois alunos têm um conflito. Sabe-se que este grafo é conexo (ou seja, há um caminho entre qualquer par de alunos) e não contém qualquer ciclo (um caminho que começa e termina no mesmo aluno).
Podemos por exemplo ter 6 alunos e os seguintes conflitos: (2,1), (2,3), (4,3), (4,5) e (6,1), que formariam o grafo da figura seguinte:
Queremos formar equipas de exatamente 3 elementos de forma a que cada aluno esteja em exatamente uma equipa e que não haja qualquer conflito entre membros de uma equipa. Para o exemplo da figura anterior, poderíamos por exemplo formar duas equipas: uma com os alunos 1 3 5 e outra com os alunos 2 4 6.
O Problema
Dados N - 1 conflitos, determina se é possível formar equipas que satisfazem esta condição e se sim indica uma possível distribuição de equipas".
Problem obtained from the 2022 National Computer Olympics (ONI) selection tests: