Persoalan FPB - playmakermz/warkop-website GitHub Wiki
soal dengan tiga parameter
class FPB{
constructor(dataX,dataY, dataZ){
this.x = dataX;
this.y = dataY;
this.z = dataZ
}
hasil(){
const listX = []
const listY = []
const listZ = []
let jawaban = []
for (let i = 1; i <= this.x; i++){
if (this.x % i === 0){
//listX.push()
listX.push(i)
}
}// akhir loop x
for (let i = 1; i <= this.y; i++){
if(this.y % i === 0){
listY.push(i)
}
}// akhir loop y
for (let i = 1; i <= this.z; i++){
if(this.z % i === 0){
listZ.push(i)
}
}// akhir loop z
let hasil = []
for (let i of listX){
if (listY.includes(i)){
if(listZ.includes(i)){
hasil.push(i)
}
}
}
console.log(hasil)
jawaban = Math.max(...hasil)
return jawaban
}// akhir function
}// akhir class
obj = new FPB(18, 54, 36)
console.log(obj.hasil())
dengan tujuan untuk menyelesaikan soal FPB degan 3 parameter.
Pendekatan yang digunakan
Adalah mencari nilai tertinggi di setiap list parameter, yang dimana nilai tertinggi tersebut bisa membagi A dan B.
Algotima yang digunakan
- Siapkan 3 array
- 2 untuk paramter, dan 1 untuk jawaban
- untuk setiap paramter, buat loop yang akan berjalan dari nilai 1 ke nilai "n" parameter.
- dan lakukan pembagian nilai "n" parameter modulus dengan nilai "i" dari loop 1-n.
- dengan tujuan untuk memastikan hasil pembagian mereka samadengan nol
n % i === 0
- buat array baru untuk menyimpan nilai yang ada di setiap paramter array.
- lalukembalikan nilai yang paling besar.