Computação e Programação 2006/07 Aula Prática 2 Programação imperativa sobre números 1. Defina a função Contadivisores que recebe como argumento um número natural e devolve o número de divisores desse número. 2. Defina a função PrimoQ que recebe como argumento um número natural e devolve verdadeiro se esse número é primo e falso caso contrário. 3. Defina a função Somaprimos que recebe como argumento um número natural N e devolve a soma dos números primos até N. 4. Defina a função Mdifpconsec que recebe como argumento um natural N e devolve a maior diferença entre dois números primos consecutivos até N. 5. Defina a função Mdc que recebe como argumento dois números naturais e que calcula o máximo divisor comum desses dois números, usando o algoritmo de Euclides. 6. Defina a função Contaperfeitos que recebe como argumento um número natural N e que devolve o número de números perfeitos até N. Um número perfeito é tal que a soma dos seus divisores próprios é igual ao próprio número. Por exemplo, 6 é um número perfeito: os divisores próprios de 6 são {3,2,1} e 3+2+1=6. 7. Defina a função Quadrados que recebe como argumento um número natural N e devolve um vector com os quadrados perfeitos que existem entre 1 e N. 8. Defina a função QuadradosInv que recebe como argumento um número natural N e devolve um vector com os quadrados perfeitos que existem entre N e 1. 9. *Defina a função PrimAlg que recebe como argumento um número natural N e devolve o primeiro algarismo da representação decimal de N. 10. *Defina a função Potencia que recebe como argumento um algarismo K (diferente de 0) e devolve o menor natural N tal que 2^N começa por K.