Cod sursa(job #623149)

Utilizator Antonius74Antonius Cezar Hegyes Antonius74 Data 19 octombrie 2011 12:24:17
Problema Fractii Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 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, anz = 1;
	bool gibt = true;
	
	scanf ("%d", &n);
	
	zahlen[0] = 1;
	zahlen[1] = 2;
	
	while (gibt == true)
	{
		gibt = false;
		for (int i = 0; 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]);
				anz += 2;
			}
		zahlen.erase (zahlen.begin(), zahlen.begin() + ende);
		ende = zahlen.size();
	}
	
	printf ("%d \n", anz*2+1);
	
	return 0;
}