Pages

Sabtu, 27 Juli 2013

Jawaban Soal Programming, sini masuk!!!!

Problem :
Pak Ali sedang meneliti tentang keunikan dari bilangan fibonacci. Kita tahu bahwa bilangan fibonacci ke-n didapat dari dua bilangan fibonacci sebelum nya yaitu fibonacci ke-(n-1) dan ke-(n-2). Ditengah sela penelitian nya ia mencoba-coba menghitung angka pada fibonacci tsb. Pada saat itu ia telah menulis sebanyak sembilan deret bilangan fibonacci, sbb :
0 1 1 2 3 5 8 13 21 , kemudian ia menghitung
bilangan-bilangan itu sehingga 0+1+1+2+3+5+8+1+3+2+1, jadi semua jumlah bilangan itu sama dengan 27. Namun Pak Ali merasa kesulitan untuk menghitung bilangan bilangan yang besar. Untuk itu bantulah Pak Ali membuat sebuah program untuk mencari jumlah dari bilangan tsb.

Contoh Input :
9

Contoh Oputput :
27

Alasan jumlah sembilan deret fibonacci 0 1 1 2 3 5 8 13 21 adalah 0+1+1+2+3+5+8+1+3+2+1= 27



 jawaban  (dalam bahasa pascal) :


function fibo(N:longint):longint;
begin
     if N=1 then fibo:=0
     else if N=2 then fibo:=1
     else fibo:=fibo(N-1)+fibo(N-2);
end;

function hcount(N : longint):longit;
begin
     if N>99 then hcount:=(N div 100) + ((N mod 100) div 10) + (N mod 10)
     else if N>9 then hcount:=(N div 10) + (N mod 10)
     else if N<10 then hcount:=N;
end;


var i,N,c : longint;


begin
     c:=0;
     readln(N);
     for i:=1 to N do c:=c+(hcount(fibo(i)));
     writeln(c);
     readln
end.






Untuk Pembahasannya akan dipost dalam waktu dekat

Tidak ada komentar:

Posting Komentar