Você está na página 1de 2

Universidade Federal do Cear

Campus de Quixad
QXD0153 - Desaos de Programao

Lista 2 - Algoritmos Matemticos

1. O nmero de divisores positivos de n denotado por d(n). Seja a fatorao em primos de


n = p1 1 p2 2 . . . pk k ento o nmero de divisores d(n) = (1 +1) (2 +1) . . . (k +1).

Modique o algoritmo de fatorao em primos para calcular d(n).

2. O nmero de fatores primos diferentes de n denotado por numDif f (n). Modique o algoritmo
de fatorao em primos para calcular numDif f (n).

3. A soma de divisores positivos de n denotado por (n). Desenvolva um algoritmo para calcular
(n).

4. O nmero de inteiros positivos menores que n que so primos entre si com n denotado (n).
Seja a fatorao em primos de n = p1 1 p2 2 . . . pk k ento o nmero de divisores
1 1 1
(n) = n(1 )(1 ) . . . (1 ) (1)
p1 p2 pk

Modique o algoritmo de fatorao para calcular (n).

5. O nmero de fatores primos diferentes de n pode ser determinado para intervalo de inteiros
[0..M AXN ] modicando o algoritmo de Crivo de Eratstenes da seguinte maneira:

v e c t o r <int > sieve_numdiff ( int MAXN){


v e c t o r <int > numDiff ;
numDiff . r e s i z e (MAXN+1 ,0);
for ( int i =2; i<=MAXN; i ++){
i f ( numDiff [ i ]==0){
for ( int j=i ; j<=MAXN; j+=i )
numDiff [ j ]++;
}
}
return numDiff ;
}

1
Modique o algoritmo do Crivo de Eratstenes para calcular (n) para todos os nmeros no
intervalo [0 . . . M AXN ]

6. O soma dos divisores de um nmero n denotado por sumDiv(n). Modique o algoritmo do


Crivo de Eratstenes para calcular sumDiv(n) para todos os nmeros no intervalor [0 . . . M AXN ]

7. O mtodo de Horner consiste em reescrever um polinmio de forma a obter o valor de p(x) tal
que p(x) = a0 + a1 x + a2 x2 + . . . + an xn em que a0 , a1 , . . . , an so os coecientes do polinmio.
Observe que que p(x) pode ser reescrito da seguinte forma:

p(x) = a0 + x(a1 + x(a2 + . . . + x(an1 + xan ))) (2)

(a) Implemente o mtodo de Horner para a avaliao de um polinmio de grau n.

(b) Utilize o mtodo de Horner para descobrir o resto da diviso de nmero N de at 100
dgitos por um inteiro M .

(c) Implemente um mtodo que recebe um vetor binrio representando um nmero na base 2
e devolve sua representao na base 10.

Você também pode gostar