awk 'BEGIN{ j=2;for (i=3;i<=100;i++)
{ n=3*j;m=5*j;o=7*j;p=9*j;
if (i%2==0) arr[i]=0;
arr[n]=0;arr[m]=0;arr[o]=0;arr[p]=0; j++;
print i;print arr[i];}
}' cat > prima.txt
{ n=3*j;m=5*j;o=7*j;p=9*j;
if (i%2==0) arr[i]=0;
arr[n]=0;arr[m]=0;arr[o]=0;arr[p]=0; j++;
print i;print arr[i];}
}' cat > prima.txt
program di atas merupakan program AWK pencari bilangan prima sampai 100.
Pertama perkalian n=3*j;m=5*j;o=7*j;p=9*j; bermaksud untuk mencari kelipatan dari bilangan tersebut, kenapa kok 3, 5, 7, 9 hal ini karena bilangan2 itu adalah bilangan ganjil dimana nanti akan membentuk kelipatan nya, misalkan 3 maka kelipatannya 3,6,9,12,15 dst hal ini bermaksud untuk menandai pada array bahwa tidak hanya bilangan genap saja yang ditandai dengan “0” tetapi kelipatan dari bilangan-bilangan 3, 5, 7, 9.
Kemudian setelah penandaan dilakukan maka melakukan incremenasi j ( j++ ) hal ini dimaksudkan untuk perkalian dari 3,5,7,9 akan dikalikan dengan 2,3,4,5,6,7,8,9 ... 100
Maka dalam array arr akan terisi “0” apabila bilangan itu adalah kelipatan dari 3,5,7,9
Setellah itu maka dilakukan pencetakan bilangan serta nilai dalam array. Hasil dari pencetakan di cetak dalam file prima.txt
Nb: letak file prima.txt terdapat di home folder pada linux directory anda
hajar dik
ReplyDelete