Source Code C++ Penjumlahan Deret Bilangan Selisih 2

Hmmm.. baru dapet PR dari mas Bagas, dari komentarnya di halaman Source Code Deret Bilangan Genap dan Ganjil, tentang soal seperti ini :
1 3 5 7 9 11 = 36
Ya.. dari soalnya kita bisa liat pola terbentuknya angka 36. yaitu penjumlahan dari angka awal hingga akhir, tapi angka itu diselingi 2 (selisih 2).
Pertama saya mendapat PR, jujur saya agak bingung. Soalnya saya juga masih pemula di C++. Tadi siang, dari jam 2 hingga jam 5an akhirnya saya bisa menyelesaikan PR tersebut.. Hufff..
Nah.. source codenya seperti berikut :
#include <iostream.h>
int pengurangan(int n, int x)
{
if (n==x)
return x;
else
return n+pengurangan(n-2, x);
}
int main()
{
int x, i, n;
cout << "Masukan bilangan pertama = ";
cin >> x;
cout << "Masukan batas = ";
cin >> n;
for (i=x; i<=n; i=i+2)
cout << i << " " ;
cout << "n";
cout << "Hasil penjumlahan = " << pengurangan(n, x);
}
Source Code di atas saya menggunakan fungsi, kalo manual akan serasa tidak efektif.
Untuk keterangannya, x adalah nilai awal (angka pertama), n adalah batas terakhir (angka terakhir), sedangkan i adalah angka itu sendiri.
Source Code ini saya ujicobakan di WinGW compiler. Mungkin agak sedikit berbeda di compiler lainnya. Ada yang ingin menambahkan?














wadduh, saya sebenernya jenius, tapi untuk beginian ampun deh. (mending jadi oon dulu ajah). hehe…
nunu geniuss last blog post..Mungkin ada benarnya…
waduh mas.. saking geniusnya mungkin.. bagi2 geniusnya donk.. :-D :-D
Kalo ingin menjumlahkan n buah angka dengan masing2 selisih 2. seperti contoh untuk kasus n = 2 maka deret yang kita tambahkan adalah 1+3
kalo untuk n = 3, adalah 1 + 3 + 5
kalo untuk n = 4 adalah 1 + 3 + 5 + 7, dstnya…
itu ada rumus cepatnya kok…
untuk menjumlah n angka ganjil pertama, maka hasilnya, adalah n^2 ;)
untuk n = 4, maka hasilnya 16. n = 5 maka 25, dstnya… ;)
Felix J´s last blog ..HTTP Acrobat PDF Suspicious File Download – False Positives
Wah.. saran2nya mas felix memang bener2 buat saya kagum mas.. terimakasih ya mas :D
sangat menolong mas,…thank you banget….