Pagini recente » Borderou de evaluare (job #2295087) | Borderou de evaluare (job #763670) | Cod sursa (job #239522) | Cod sursa (job #3286801) | Cod sursa (job #623149)
Cod sursa(job #623149)
#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;
}