Skip to main content
Removed extraneous whitespace
Source Link
DJMcMayhem
  • 59.6k
  • 17
  • 196
  • 348
            #include <iostream>
            using namespace std;    
            int main() {
                long a, b;
                for (int i = 0; i < 55; i++) {
                    g(i, a, b);
                    cout << i << "-> " << a << ' ' << b << endl;
                }
                return 0;
            }
            #include <iostream>
            using namespace std;    
            int main() {
                long a, b;
                for (int i = 0; i < 55; i++) {
                    g(i, a, b);
                    cout << i << "-> " << a << ' ' << b << endl;
                }
                return 0;
            }
#include <iostream>
using namespace std;    
int main() {
    long a, b;
    for (int i = 0; i < 55; i++) {
        g(i, a, b);
        cout << i << "-> " << a << ' ' << b << endl;
    }
    return 0;
}
Source Link
philn
  • 111
  • 2

C/C++ 89 bytes

void g(int n,long&a,long&b){if(n){long j,k;g(n-1,j,k);a=3*j+5*k;b=j+3*k;}else{a=1;b=0;}}

Formatted:

    void g(int n, long&a, long&b) {
if (n) {
    long j, k;
    g(n - 1, j, k);
    a = 3 * j + 5 * k;
    b = j + 3 * k;
} else {
    a = 1;
    b = 0;
}}

Same concept:

void get(int n, long &a, long& b) {
    if (n == 0) {
        a = 1;
        b = 0;
        return;
    }
    long j, k;
    get(n - 1, j, k);
    a = 3 * j + 5 * k;
    b = j + 3 * k;
}

The test bench:

            #include <iostream>
            using namespace std;    
            int main() {
                long a, b;
                for (int i = 0; i < 55; i++) {
                    g(i, a, b);
                    cout << i << "-> " << a << ' ' << b << endl;
                }
                return 0;
            }

The output:

0-> 1 0
1-> 3 1
2-> 14 6
3-> 72 32
4-> 376 168
5-> 1968 880
6-> 10304 4608
7-> 53952 24128
8-> 282496 126336
9-> 1479168 661504
10-> 7745024 3463680
11-> 40553472 18136064
12-> 212340736 94961664
13-> 1111830528 497225728
14-> 5821620224 2603507712
15-> 30482399232 13632143360
16-> 159607914496 71378829312
17-> 835717890048 373744402432
18-> 4375875682304 1956951097344
19-> 22912382533632 10246728974336
20-> 119970792472576 53652569456640
21-> 628175224700928 280928500842496
22-> 3289168178315264 1470960727228416
23-> 17222308171087872 7702050360000512
24-> 90177176313266176 40328459251089408
25-> 472173825195245568 211162554066534400
26-> 2472334245918408704 1105661487394848768