- A seqüência a seguir é conhecida como a série de Fibonacci: 0, 1, 1, 2, 3,
5, 8, 13, 21, ... Ela começa com 0 e 1 e tem a propriedade de que cada numero
subsequente de Fibonacci é a soma dos dois numeros de Fibonacci anteriores.
Crie uma funcao que calcula o iésimo numero da sequencia de
Fibonacci.
Exemplo:
Fibonacci(1) = 0
Fibonacci(2) = 1
Fibonacci(3) = 1
Fibonacci(4) = 2
Fibonacci(5) = 3
...
Solução: versão 1 -
versão 2
- Escreva uma função multiplo que determine, para um par de números
inteiros, se o segundo número é múltiplo do primeiro. A função deve ter dois
argumentos inteiros e retornar 1 (verdadeiro) se o segundo número for múltiplo
do primeiro, e 0 (falso) em caso contrário. Use essa função em um programa que
pede para o usuário digitar 2 números, diz se o segundo é múltiplo do
primeiro, pergunta se o usuário quer testar mais dois números e, se sim, pede
novamente para o usuário digitar 2 números e assim por diante. Se o usuário
responder que não quer mais testar dois números, o programa
termina.
Solução: versão 1 -
versão 2
- Diz-se que um número inteiro é um número perfeito se a a soma de seus
fatores, incluindo 1 (mas nao o numero em si), resulta no próprio número. Por
exemplo, 6 é um número perfeito porque 6 = 1 + 2 + 3. Escreva uma função
perfeito que determine se o parâmetro número é um número perfeito.
Use esta função em um programa que determine e imprima todos os números
perfeitos entre 1 e 1000. Imprima os fatores de cada número encontrado para
confirmar que ele é realmente perfeito. Desafie o poder de seu computador
testando numeros muito maiores do que 1000.
Solução:
versão 1 - versão 2
- Escreva um programa que ajudará alunos a aprender a multiplicar. Use a
função rand para produzir dois inteiros positivos de um dígito (um
algarismo). O programa deve, então imprimir uma pergunta do tipo: Quanto é
6 vezes 7? O aluno deve digitar a resposta. Seu programa deve examinar a
resposta do aluno. Se ela estiver correta, o programa deve imprimir Muito
bem! e fazer outra pergunta de multiplicação. Se a resposta estiver
errada, o programa deve imprimir: Nao. Tente novamente, por favor. e
então deixar que o aluno fique tentando acertar a mesma pergunta até que ele
consiga.
Solução
- Modifique o programa do exercício anterior de forma que sejam impressos
vários comentários para cada resposta correta e incorreta como se
segue:
Comentarios para uma resposta correta:
Muito bem!
Excelente!
Bom trabalho!
Certo. Continue assim!
Comentarios para uma resposta incorreta:
Nao. Tente novamente, por favor.
Errado. Tente mais uma vez.
Nao desista!
Nao. Continue tentando.
Use o gerador de números aleatórios (a funcao
rand( )) para escolher um número de 1 a 4 para selecionar o
comentário apropriado para cada resposta. Use uma estrutura switch
com instruções printf para imprimir as
respostas.
Solução