#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
class faktor_prima{
/*friend istream& operator>>(istream&, faktor_prima&);
friend ostream& operator<<(ostream&, faktor_prima&);*/
public:
faktor_prima();
void masuk();
void beri_nilai();
void hitung();
void keluar();
private:
int n;
int r;
int q;
int i;
double a;
//int d[100];
int f[100];
int prime;
};
faktor_prima::faktor_prima(){
cout<<"Menghitung faktor prima dari bilangan bulat\n\n";
}
/*istream& operator>>(istream& in, faktor_prima& masuk){
cout<<"Masukkan bilangan bulat positif : ";
in>>masuk.n;
return in;
}
ostream& operator<<(ostream& out, faktor_prima keluar){
out<<"faktor prima dari "<<keluar.n<<" : ";
for(int x=1;x<=i;x++){
out<<f[i]<<" , ";
return out;
}
return out;
}*/
void faktor_prima::masuk(){
cout<<"Masukkan bilangan bulat positif : ";
cin>>n;
cout<<endl;
}
void faktor_prima::beri_nilai(){
i = 0;
prime = 2;
}
void faktor_prima::hitung(){
a = sqrt(n);
q = n / prime;
r = n % prime;
while (r = 0 || q > prime){
if(r = 0){
i = i + 1;
f[i] = prime;
n = q;
}
else {
q = n / prime;
r = n % prime;
}
};
if(n > 1){
i = i + 1;
f[i] = n;
}
}
void faktor_prima::keluar(){
cout<<"faktor prima dari "<<n<<" : ";
for(int x=1;x<=i;x++){
cout<<"("<<f[x]<<") ";
}
cout<<endl<<endl;
}
int main(int argc, char *argv[])
{
faktor_prima dyas;
peni.masuk();
peni.beri_nilai();
peni.hitung();
peni.keluar();
system("PAUSE");
return EXIT_SUCCESS;
}
Tidak ada komentar:
Posting Komentar