QUESTÃO 1 Embaralhamento de Palavras (Word Scramble

Transcrição

QUESTÃO 1 Embaralhamento de Palavras (Word Scramble
QUESTÃO 1
Embaralhamento de Palavras
(Word Scramble - 283)
Escreva um programa que irá inverter as letras em cada sequência de palavras, preservando a ordem das palavras em si.
Entrada
O arquivo de entrada será composto de várias linhas contendo várias palavras. As palavras são trechos contíguos de caracteres
imprimíveis delimitados por espaço em branco.
Saída
A saída será constituída pelas mesmas linhas e palavras apresentadas na entrada. No entanto, as letras de cada palavra devem ser
invertidas.
Exemplo de Entrada
I love you.
You love me.
We're a happy family.
Exemplo de saída
I evol .uoy
uoY evol .em
er'eW a yppah .ylimaf
O que fazer?
•
No programa desenvolvido, crie uma função que tem como parâmetros i) a string original da linha lida e ii) a string da linha embaralhada;
e que calcule e retorne, utilizando a passagem de parâmetro por referência, pela string da linha embaralhada conforme exige o problema.
QUESTÃO 2
Quadrados Peculiares
(Quirksome Squares – 256)
O número 3025 tem uma peculiaridade notável: se você dividir a sua representação decimal em duas sequências de igual comprimento
(30 e 25), e fizer o quadrado da soma dos números obtidos, então você tem o número original:
(30 + 25)2 = 3025
O problema é determinar todos os números com esta propriedade com um determinado número par de dígitos.
Por exemplo, números de 4 dígitos estão entre 0000 e 9999. Note que os zeros à esquerda deverão ser levados em conta. Isso significa
que 0001 que é igual a (00 + 01) 2 é um número peculiar de 4 dígitos. O número de dígitos não será maior que 8. Embora o maior inteiro seja
apenas 32767 e sejam solicitados números de oito dígitos, um bom programador consegue manter seus números no intervalo dos inteiros. Contudo,
a eficiência deve ser levada em consideração.
Entrada
Saída
entrada).
A entrada do seu programa contém quantidade dos dígitos, cada número em uma linha.
A saída é composta de linhas que contêm os números peculiares (em ordem crescente para cada número de dígitos fornecidos na
Aviso : Por favor, note que o número de dígitos na saída é igual ao número informado na linha de entrada correspondente: zeros à
esquerda não podem ser suprimidos.
Exemplo de Entrada
2
2
6
Exemplo de saída
00
01
81
00
01
81
000000
000001
494209
998001
O que fazer?
•
No programa desenvolvido, crie duas funções:
•
uma com o propósito de separar o número inteiro em outros dois inteiros, como exige o problema, e que seja informado como
parâmetros i) o inteiro a ser dividido (por valor); ii) o número de dígitos de cada parte (por valor); iii) o primeiro inteiro (por
referência); e, iv) o segundo inteiro (por referência). Esta função retornará via estes parâmetros passados por referência os
inteiros resultantes da separação.
•
e, outra com o propósito de testar se o número é peculiar, e que seja informado como parâmetros i) o inteiro original; e, ii) os
inteiros resultantes da separação. Deve retornar 1 se é peculiar e 0, caso contrário.