JosepRivaille

P50726: F005A. Paraules de Fibonacci

Jun 2nd, 2015
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. using namespace std;
  5.  
  6.  
  7. string concatenar(string a, string b) {
  8.     int tam_a = a.size();
  9.     int tam_b = b.size();
  10.     string c(tam_a + tam_b, ' ');
  11.     for (int i = 0; i < tam_a; ++i) c[i] = a[i];
  12.     for (int i = 0; i < tam_b; ++i) c[i+tam_a] = b[i];
  13.     return c;
  14. }
  15.  
  16. int pos(string s, const vector<string>& v) {
  17.     for (int i = 0; i < 16; ++i) {
  18.         if (v[i] == s) return i;
  19.     }
  20.     return -1;
  21. }
  22.  
  23.  
  24. int main() {
  25.     vector<string> v(16);
  26.     v[0] = "a";
  27.     v[1] = "b";
  28.     for (int i = 2; i < 16; ++i) v[i] = concatenar(v[i-2], v[i-1]);
  29.     string s;
  30.     while (cin >> s) {
  31.         int aux = pos(s, v);
  32.         if (aux < 0) cout << s << " no es de Fibonacci" << endl;
  33.         else cout << s << " es la paraula numero " << aux + 1 << endl;
  34.     }
  35. }
  36.  
  37. //JosepRivaille
Advertisement
Add Comment
Please, Sign In to add comment