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.