1. Buat Program Fibonacci dan Jelaskan 1.1.2.3.5.8.13.21.34
Jawab:
#include<iostream.h>
using namespace std;
int fibonacci(int n)
{
if(n==1)
return(0);
else if(n==2)
return(1);
else
return (fibonacci(n-1)+fibonacci(n-2));
}
int main()
{
int n;
cout<<"\nBerapa jumlah bilangan fibonacci yang ingin anda tampilkan: ";cin>>n;
for(int i=1;i<=n;i++)
cout<<fibonacci(i)<<" ";
cout<<endl;
}
Penjelasannya:
Program sederhana diatas menggunakan fungsi rekursif untuk menampilkan bilangan fibonacci.
Baris pertama dan kedua adalah statements yang paling sering kita tuliskan. Yang pertama untuk mengikutsertakan library iostream "#include<iostream>".
Baris yang kedua adalah untuk menggunakan namespace std.
Di baris ke 3 sampai 11 terletak implementasi dari algoritma bilangan fibonacci. Pada baris ini kita definisikan fungsi dengan nama "fibonacci" yang memiliki return value integer dan parameter (int n).
2. Buat Program untuk menghitung deret S=1+2+3+4+5....+n menggunakan Fungtion Rekursi dan Jelaskan.
Jawab:
#include<iostream.h>
int S(int n);
main()
{
int n;
cout << “Masukkan n = “; cin >> n;
cout << “Deret S=1+2+3+4+5+...+n \n”;
cout << “Jumlah deret S = “ << S(n);
}
int S(int n)
{
if (n == 1)
return (1);
else
return (n + S(n-1));
}
Penjelasannya:
Baris pertama Menggunakan file Header iostream,
Baris ke lima memasukkan deret angka dan baris ke 9 untuk menentukan kondisi nilai n.
3. Analisa Program Menara HANOI.
Jawab:
Menara Hanoi adalah Sebuah permainan dimana sejumlah piringan dipindahkan dari tonggak satu ke tonggak lainnya dan dapat menggunakan tonggak bantuan .
Caranya semua piringan di tonggak A akan dipindahkan ke tonggak C secara satu persatu dan piringan yang besar tidak boleh diletakkan di atas piringan yang kecil.
Jadi algoritmanya adalah …
Kalau N = 1 maka
N dipindahkan dari A ke C secara langsung
Tapi kalau N > 1 maka
pindahkan N-1 dari A ke B
pindahkan N dari A ke C
pindahkan N-1 dari B ke C
catatan :
N = banyaknya piringan
coding dengan c++
view source
print?
#include
using namespace std;
void MenaraHanoi(int N, char asal, char bantu, char tujuan);
int main()
{
int piringan;
cout<< "\nPROGRAM MENARA HANOI\n";
cout<< "——————–\n\n";
cout<> piringan;
cout<< endl; MenaraHanoi(piringan,'A','B','C');
return 0;
}
void MenaraHanoi(int N, char asal, char bantu, char tujuan)
{
if(N == 1)
cout<<"Piringan 1 dari "<<asal<< " ke " << tujuan <<endl;
else
{
MenaraHanoi(N-1,asal,tujuan, bantu);
cout<<"Piringan " << N <<" dari " << asal << " ke " << tujuan<<endl;
MenaraHanoi(N-1, bantu, asal, tujuan);
}
}
No comments:
Post a Comment