Cod sursa(job #623147)

Utilizator Antonius74Antonius Cezar Hegyes Antonius74 Data 19 octombrie 2011 12:18:13
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#include <vector>
#include <cmath>
using namespace std;

int main()
{
	freopen ("fractii.in","r", stdin);     
	freopen ("fractii.out","w", stdout); 

	vector <int> zahlen(2);
	int n, anf = 0, ende = 2;
	bool gibt = true;
	
	scanf ("%d", &n);
	
	zahlen[0] = 1;
	zahlen[1] = 2;
	
	while (gibt == true)
	{
		gibt = false;
		for (int i = anf; i < ende; i+=2)
			if (zahlen[i] + zahlen[i+1] <= n)
			{
				gibt = true;
				zahlen.push_back(zahlen[i]);
				zahlen.push_back(zahlen[i] + zahlen[i+1]);
				zahlen.push_back(zahlen[i] + zahlen[i+1]);
				zahlen.push_back(zahlen[i+1]);
			}
		anf = ende;
		ende = zahlen.size();
	}
	
	printf ("%d \n", zahlen.size()+1);
	return 0;
}