nycraja:
I am trying to find the largest fib number less than a given input. I know that a number is a fib number if (5 * n^2 + 4) or (5 * n^2 - 4) is a square number. Here is the function I am trying but it doesn't seem to work for me. Can someone more experienced please take a look?
Thank you.
Got it.
double isfib (double fibo) { for (double n=fibo-1; n>0; n--) { double expt=MathPow(n,2); double plus = 5*expt+4; double minus = 5*expt-4; double plusrt = MathSqrt(plus); double minusrt=MathSqrt(minus); double plusrmdr = MathMod(plus,plusrt); double minusrmdr = MathMod(minus,minusrt); if (plusrmdr ==0 || minusrmdr ==0) break; } return(n); }
nycraja: I am trying to find the largest fib number less than a given input. I know that a number is a fib number if (5 * n^2 + 4) or (5 * n^2 - 4) is a square number.
Why not just create them and stop when you get one too large?int fib(int n){ int prev=0, next = 1; while(next <= n){ int old = prev; prev = next; next = old + prev; // 1, 2, 3, 5 } return prev; }
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
I am trying to find the largest fib number less than a given input. I know that a number is a fib number if (5 * n^2 + 4) or (5 * n^2 - 4) is a square number. Here is the function I am trying but it doesn't seem to work for me. Can someone more experienced please take a look?
Thank you.