Bilangan prima adalah bilangan yang lebih besar dari satu dan habis dibagi HANYA oleh DIRINYA SENDIRI dan SATU. Mengacu pada definisi ini, maka:
Periksa apakah masukan dari user lebih dari satu.
int a = StrToInt(Edit1->Text);
int b = StrToInt(Edit2->Text); if (a > 1 ) {} else
ShowMessage(“Batas terendah harus lebih besar dari 1″);
Periksa apakah bilangan tersebut dapat dibagi diluar dirinya dan angka satu
for (int i = a; i <= b; i++) {
int jumlah = 0;
for (int j = 2; j < i; j++) {
if ( i % j == 0 ) {
jumlah = jumlah + 1;
};
}
variabel jumlah dipakai untuk menghitung sampai seberapa banyak bilangan yang dapat membagi habis bilangan yang ditanyakan. Jika tak ada satupun, berarti bilangan tersebut adalah bilangan prima:
if (jumlah == 0)
Memo1->Lines->Add(IntToStr(i));
Untuk membuat seperti contoh program disini, buatlah form seperti dibawah ini:
Pada program ini, user dapat memasukkan jangkauan bilangan prima antara kotak masukan “Mulai dari” sampai kotak masukan “Sampai”. Setelah itu, user menekan tombol “Kerjakan” untuk mendata bilangan-bilangan prima pada jangkauan tersebut dan menuliskannya pada obyek memo dibawah tombol tersebut.
Inilah program selengkapnya:
#include <vcl.h>#pragma hdrstop
#include “Unit1.h”
#pragma package(smart_init)#pragma resource “*.dfm”
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Memo1->Clear();
Edit1->Text = “0”;
Edit2->Text = “0”;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int a = StrToInt(Edit1->Text);
int b = StrToInt(Edit2->Text);
if (a > 1 ) {
Memo1->Clear();
for (int i = a; i <= b; i++) {
int jumlah = 0;
for (int j = 2; j < i; j++) {
if ( i % j == 0 ) {
jumlah = jumlah + 1;
};
}
if (jumlah == 0)
Memo1->Lines->Add(IntToStr(i));
}
} else
ShowMessage(“Batas terendah harus lebih besar dari 1″);
}
0 comments:
Posting Komentar