4
$\begingroup$

I want to show that "Out of the first 450 Fibonacci numbers, the odd number is twice as many as even number." with Mathematica.

Can you solve it please?

| improve this question | | | | |
$\endgroup$
  • 4
    $\begingroup$ Tally@Mod[Fibonacci@Range@450, 2] $\endgroup$ – OkkesDulgerci Apr 3 at 16:48
  • 3
    $\begingroup$ Actually, $F_n$ is even iff $n$ is a multiple of $3$. $\endgroup$ – lhf Apr 4 at 15:35
  • 1
    $\begingroup$ @lhf Yes, and by the construction principle of the Fibonacci number it is clear the the sequence contains always two consecutive odd numbers followed by an even one ;-) $\endgroup$ – mgamer Apr 21 at 12:09
9
$\begingroup$

First the Fibonacci numbers

out = Table[Fibonacci[n], {n, 450}];

then counting....

Mod[#, 2] & /@ out // Counts

(<|1 -> 300, 0 -> 150|>)

| improve this answer | | | | |
$\endgroup$
  • 4
    $\begingroup$ I'd use CountsBy with EvenQ as the function instead of Mod[#, 2]&. The result is <|False -> 300, True -> 150|>. $\endgroup$ – rcollyer Apr 4 at 3:17
8
$\begingroup$

Let's find the conditions under which a Fibonacci number is odd or even. Happily, Reduce has us covered:

isOdd = Reduce[Mod[Fibonacci[n], 2] == 1, n, Integers]
(* Element[C[1], Integers] && (n == 1 + 3 C[1] || n == 2 + 3 C[1]) *)

isEven = Reduce[Mod[Fibonacci[n], 2] == 0, n, Integers]
(* Element[C[1], Integers] && (k == 0 && n == 3*C[1]) *)

This says for all integers $ n $, $ F_n \equiv 0\,\left(\bmod 2\right) $ when $ n \equiv 0 \left(\bmod 3\right) $.

Now, let's see how many instances there are of each for $n$ between $1$ and $450$.

evens = Length@FindInstance[isEven && 1 <= n <= 450, {n, C[1]}, Integers, 450]
(* 150 *)

odds = Length@FindInstance[isOdd && 1 <= n <= 450, {n, C[1]}, Integers, 450]
(* 300 *)

Now that we've come this far, Mathematica can also help us with the basic arithmetic:

2 * evens == odds
(* True *)
| improve this answer | | | | |
$\endgroup$
7
$\begingroup$

Similar to mgamer's nice answer:

Mod[Array[Fibonacci, 450], 2]//Counts

<|1 -> 300, 0 -> 150|>

Edit

To 'borrow' the neat suggestion made by rcollyer in a comment to rgamer's answer:

Array[Fibonacci, 450] // CountsBy[OddQ]

<|True -> 300, False -> 150|>

Edit 2

lhf points out in a comment that "$F_n$ is even iff $n$ is a multiple of 3"

Table[Fibonacci[n], {n,3, 450,3}] // CountsBy[EvenQ] 
<|True -> 150|>

A very interesting one, it seems to me. As long as $n$ is a multiple of 3, then "the odd number is twice as many as even number" as the OP asks for $n$ equal to 450.

| improve this answer | | | | |
$\endgroup$
4
$\begingroup$
Array[Fibonacci, 450, 1, CountsBy[OddQ] @* List]
<|True -> 300, False -> 150|>

Also

Array[Fibonacci /* OddQ, 450, 1, List /* Counts]
<|True -> 300, False -> 150|>

and

450 // Range /* Fibonacci /* CountsBy[OddQ]
<|True -> 300, False -> 150|>
| improve this answer | | | | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.