Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

charion

Serie Fibonacci!!!

Recommended Posts

Olá pessoal tudo bem?Gostaria que vcs me ajudassem num probleminha!!!Bom é o seguinte estou fazendo uns exercicios sobre funções e não consigo resolver este!!!"Faca um programa completo que imprima os n primeiros termos da serie de Fibonacci, lembrando que estaserie e definida da seguinte forma:termo1 = 1termo2 = 1termon = termon−1 + termon−2O usuario do programa deve fornecer o numero de termos, e estes devem ser impressosseparados por um espaco. Por exemplo, se o usuario pedir os 6 primeiros termos daserie de Fibonacci, o programa deve ter a seguinte saıda:1 1 2 3 5 8"Se alguém poder me ajudar fico grato!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A lógica é essa. O Exemplo está em Pascal!

 

É um processo recursivo.

 

program fibonacci;uses crt;var num : longint;function fibo ( num : word) : longint;begin	 {considero como 1 o primeiro termo da sequência... }	 if num <= 2 then		  fibo := 1	 else		  fibo := fibo (num - 1) + fibo (num - 2);end;begin	 write ('Qual termo da sequência? : ');	 readln (num);	 writeln (num,'º termo da sequência: ',fibo(num));	 readkey;end.

Espero que ajude! B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda mais não é isso não!!!Assim ele esta retornado apenas o elemento, e não a sequencia até este elemento!!!!Mais mesmo assim obrigado, já é uma grande ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só, assim ele imprime toda a sequencia:

 

#include <iostream.h>#include <conio.h>int main() {	int i, f, s, fa; 	i=f=s=0;	cout << "Digite o numero de termos: ?\b";	cin >> i;	cout << "Digite o numero da serie de Fibonacci: ?\b";	cin >> f;	cout << "[" << f << ",";		   	for (int r = 0; r<(i-1); r++) {		fa = f;			  		f = f + s;		cout << f << ",";		s = fa;	}		cout << "\b]";getch();	return 0;}

ou, com algumas pequenas modificações, ele faz a mesma coisa com a biblioteca stdio:

 

#include <stdio.h>#include <conio.h>int main() {	int i, f, s, fa; 	i=f=s=0;	printf ("Digite o numero de termos: ?\b");	scanf("%i", &i);	printf ("Digite o numero da serie de Fibonacci: ?\b");	scanf("%i", &f);	printf("[%i,", f);		   	for (int r = 0; r<(i-1); r++) {		fa = f;			  		f = f + s;		printf ("%i,", f);		s = fa;	}		printf ("\b]");getch();	return 0;}

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, eu esqueci que voce precisa separar eles por um espaço. Mas aí é bem fácil corrigir, neh?se voce precisar de uma ajuda nas funções, pode perguntar... tipow, eu to aprendendo ainda, mas jah to intendendo mais ou menos esse lance de vetor e função...Vlw!meu email:marcioapf[arroba]gmail[ponto]com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal.. eu sei que este forum é sobre C/C++... mas eu tenho ele bem simples em php.

mostrando os quatro primeiros numeros.

<?php
$a = 0;
$b = 1;
$indice = 4;
	for($i=0; $i < $indice; $i++) {
		print $a . " " . $b . " ";
		$a = $a + $b;
		$b = $b + $a;
}
?>

para ficar mais claro.. vou postar sem os brasões das váriaveis php.

<?php
a = 0;
b = 1;
indice = 4;
	for(i=0; i < indice; i++) {
		print a + " " + b + " ";
		$a = a + b;
		$b = b + a;
}
?>

espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <iostream.h>
#include <conio.h>

int main(){
int i,prox,atual,ant,val;
 cout<<"ENTRE COM O VALOR"<<endl;
	 cin>>val;

 ant = 0;
  atual = 1;
 for(i=1;i<=val;i++){
prox = ant + atual; 
ant = atual;
atual = prox;
 cout<<("\n Termo ");
 cout<<i<<" = "; 
 cout<<prox;
 cout<<endl;
 }
 getch();
return 0;
}

 

Fiz em c++

Qualquer dúvida pergunte

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho ele assim:

 

#include "stdafx.h"

void main(void)
{
	int ultimo, penultimo, termo, numero, i;

	printf("Digite o primeiro numero: ");
	scanf("%d",&numero);

	ultimo = 1;
	penultimo = -1;
	i = 1;
	printf("{");
	while (i <= numero)
	{
		termo = ultimo + penultimo;
		penultimo = ultimo;
		ultimo = termo;
		i++;
		printf("%d,",termo);
	}
	printf("}\n");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.