Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // lwf.cpp : definisce il punto di ingresso dell'applicazione console.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <stdio.h>
- #include <vector>
- using namespace std;
- int N;
- int k = 0;
- vector <int> sequenza;
- vector <int> fibo;
- int fibonacci(int i)
- {
- if (i == 0)
- {
- return 0;
- }
- else if (i == 1)
- {
- return 1;
- }
- else
- {
- return fibonacci(i - 1) + fibonacci(i - 2);
- }
- }
- void crea_Sequenza()
- {
- sequenza[k - 1] = 1;
- N -= fibo[k-1];
- while (N != 0)
- {
- for (int i = 0; i < k; i++)
- {
- if (fibo[i] > N)
- {
- sequenza[i - 1] = 1;
- N -= fibo[i - 1];
- break;
- }
- }
- }
- }
- void crea_fibo() // riempie un vector con gli elementi della succesione di fibonacci fino a k
- {
- for (int i = 0; i < k+1; i++)
- {
- fibo.push_back(fibonacci(i));
- }
- fibo.erase(fibo.begin());
- k = fibo.size();
- }
- int main()
- {
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- cin >> N;
- while (fibonacci(k) <= N)
- {
- k += 1;
- }
- k -= 1;
- crea_fibo();
- sequenza.resize(k);
- crea_Sequenza();
- k = sequenza.size();
- for (int i = 0; i < k; i++)
- {
- cout << sequenza.at(i);
- }
- cout << "\n";
- for (int i = 0; i < k; i++)
- {
- cout <<fibo.at(i);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement