Don't Forget to Give thanks to God

Rabu, 23 November 2011

Mencari Bilangan Prima

Ahkirnya selesai juga PR mengenai fungsi rekursif untuk menghitung bilangan prima..huff
Setelah mencoba semua yang dibisa ahkirnya saya bisa membuat program mencari bilangan prima namun tidak menggunakan perulangan (for, do-while)

Memang sepertinya kalau mengerjakan PR itu lebih seru kalau mengerjakannya mendekati deadline. Lebih terasa feelnya pastinya.
Ini saya menggunakan dev C++ untuk mencari bilangan prima 

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


int prima(int u,int n){
    if(n==0 || n==1)return 0;
    if(u>n){      
    if(n==2){printf("%3i,",n);prima(u,n+1);}
    if(n==3){printf("%3i,",n);prima(u,n+1);}
    if(n==4){prima(u,n+1);}
    if(n==5){printf("%3i,",n);prima(u,n+1);}
    else if(n>=6){
                   if(n%2 == 0 || n%3==0 || n%4==0 || n%5==0) prima(u,n+1);
                   else
                   {
                        printf("%3i,",n);
                        prima(u,n+1); 
                   }
    }
}
  else if(n==u) return 0;
}          
int main(){
int a;
    printf("Masukkan nilai : ");scanf("%i",&a);
    printf ("\nbilangan prima antara 1 sampai %i adalah \n",a);
    prima(a,2);             
getch();
}

a merupakan inputan yang kemudian dijadikan parameter
Pada fungsi, nilai n akan selalu bertambah sampai nilai n==u. Biasanya lebih mudah apabila kita menggunakan FOR

0 komentar: