Kamis, 13 Oktober 2011

Tugas Algoritma

Bilangan Ulam

Penulisan Program Pada C++ :

#include <iostream.h>
#include <conio.h>
void main()
{
   int a;
   float b;
   cout<<"===== Program Bilangan Ulam ===="<<endl;
   cout<<"\nMasukan bilangan : "; cin>>a;
   b=a;
   ulam :
   if (b/2==a/2)
    {
    a = a/2;
         b = b/2;
        }
   else
    {
    a=(a*3)+1;
         b=(b*3)+1;
        }

cout<<a<<" ";

   if (a==1)
      goto selesai;
   else
      goto ulam;

   selesai:
getch();
}

Bilangan Prima

Penulisan Program Pada C++ :

#include <iostream.h>
#include <conio.h>
void main()
{
   int a, b, c, flag=1;
   cout<<"===== Program Bilangan Prima ===="<<endl;
   cout<<"\nMasukan bilangan : "; cin>>a;

for(b=1; b<=a; b++)
{
for(c=2; c<=b; c++)
{
if(b%c==0)
flag=flag+1;
}
if (flag==1) cout<<b<<" ";
flag=0;
}

   getch();
}

7 komentar:

Unknown mengatakan...

kaka mau tanya, kalo cara penulisan pemrogramannya untuk c++ gimana?

Putra's Shirou mengatakan...

sudah bisa dilihat diatas penulisan script nya pada c++~
tp pada bilangan ulam aga sedikit berbeda dengan flowcharnya karena dalam C++ tipe data int hasilnya langsung bilangan bulat, jadi kita harus menambahkan satu variable bertipe float untuk memenuhi kondisi INT(A/2) = A/2~ ~.~

Unknown mengatakan...
Komentar ini telah dihapus oleh pengarang.
Unknown mengatakan...

maaf mau meralat kaka, mengapa tadi outputnya 8 4 2 1, karna kurang tepat rumus bilangan ulam ganjil ka.. yang kaka tulis

{
a=(a*3)-1;
b=(b*3)-1;
}

seharusnya a=(a*3)+1 bukan??
terimakasih banyak ka atas bantuannya..
maaf terlalu banyak bertanya..^^

Putra's Shirou mengatakan...

owh iya~
saya yang salah klo bgtu~ >.<
ini udah dari smster 1 jadi aga sedikit lupa~
maaf ya~

Unknown mengatakan...

pagi, saya mau tanya tentang bilangan ulam

dalam bilangan ulam jika sudah bertemu angka 1, maka program seharusnya langsung end, bukan??

namun dalam flowchart yang saya lihat, setelah input A, tidak ada decision untuk angka 1

bagaimana jika user langsung menginput angka 1 pada saat program dimulai?

apakah program langsung end atau diproses dulu kebawah?

terima kasih...

Putra's Shirou mengatakan...

decision untuk angka 1 terletak di akhir jadi jika kita memasukan angka 1 maka yang keluar outputnya : 4 2 1

Jadi kalo bgtu anda masukan saja lagi decision A=1 sebelum kondisi INT(A/2)=A/2

semoga bisa membantu~ ^^

Posting Komentar

 
;