Our social:

19 Şubat 2013 Salı

(Project Euler) 2.Problem - Fibonacci serisi - C - C# - PHP



Project Euler'in 2.problemi Fibonacci serisi ile ilgili. Ben de bu yazıda 1 ve 2 ile başlayarak Fibonacci serisinin ilk 10 elemanını bulacağım.

C, C# ve PHP ile yazdığım kodları paylaşacağım ancak ilk önce algoritmaya biraz göz atalım.

1 ve 2 ile başlayacağız. Bu durumda

1.eleman -> 1
2.eleman -> 2
3.eleman -> 1 + 2 = 3
4.eleman -> 2 + 3 = 5
5.eleman -> 3 + 5 = 8
6.eleman -> 5 + 8 = 13
7.eleman -> 8 + 13 = 21
8.eleman -> 13 + 21 = 34
9.eleman -> 21 + 34 = 55
10.eleman -> 34 + 55 = 89

Bir dizi oluşturuyorum. Dizimin adı dizi olsun. dizi[0] = 1 ve dizi[1] = 2 yapıyorum.

2'den başlayarak bir for döngüsü oluşturuyorum.

for(i=2;i<10;i++)
{
     dizi[i] = dizi[i-1] + dizi [i-2];
}

şeklinde işlemleri yaptırıyorum.

PHP KODU

<?php
$dizi = Array();
$dizi[0] = 1;
$dizi[1] = 2;

for($i=2;$i<10;$i++)
{
    $dizi[$i] = $dizi[$i-1] + $dizi[$i-2];
}

for($i=0;$i<10;$i++)
{
    echo $i+1 . ".eleman = " .$dizi[$i] . "<br />";
}
?>

 
C KODU

#include<stdio.h>
#include<conio.h>

main()
{
   int i;
   int dizi[10];
  
   dizi[0] = 1;
   dizi[1] = 2;
  
   for(i=2;i<10;i++)
   {
      dizi[i] = dizi[i-1] + dizi[i-2];                
   }     
  
   for(i=0;i<10;i++)
   {
      printf("%d.eleman = %d\n",i+1,dizi[i]);               
   }
  
   getch();
}


C# KODU

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace fibonacci
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi = new int[10];

            dizi[0] = 1;
            dizi[1] = 2;

            for (int i = 2; i < 10; i++)
            {
                dizi[i] = dizi[i - 1] + dizi[i - 2];
            }

            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(i+1 + ".eleman = " + dizi[i]);
            }

            Console.ReadKey();
        }
    }
}

0 yorum: