แสดงบทความที่มีป้ายกำกับ lab8.1 แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ lab8.1 แสดงบทความทั้งหมด

วันอังคารที่ 3 กันยายน พ.ศ. 2556

GCD and LCD

void setup(){
  gcd(100,83);// เรียกใช้ user function
  println(gcd(100,83));//การแสดงผลของ ห.ร.ม.
  println(lcd(100,83));//การแสดงผลของ ค.ร.น.

}

int gcd(int x, int y){//เป็น user function ชนิดพรามิเตอร์ที่มีการรีเทิร์นค่า(หา ห.ร.ม)
    if(x==0){//ถ้า x เท่ากับ 0 ให้รีเทิร์นค่า y ไปใช้ได้เลย(ส่วนนี้เป็น base case)
      return y;
    }
    if(y==0){//ถ้า y เท่ากับ 0 ให้รีเทิร์นค่า x ไปใช้ได้เลย(ส่วนนี้เป็น base case)
      return x;
    }
    if(x>y){
      return gcd (y,x%y);//ถ้า x มากกว่า y ให้ให้รีเทิร์นค่า y และเศษที่เหลือจาก x mod y
    }else{
      return gcd (x,y%x);//ถ้า y น้อยกว่า x ให้ให้รีเทิร์นค่า x และเศษที่เหลือจาก y mod x
    }
//มีการเรียกใช้ตัวเอง(recursive case)
}

int lcd(int x, int y){//เป็น user function ชนิดพรามิเตอร์ที่มีการรีเทิร์นค่า(หา ค.ร.น)
  return (x*y)/gcd(x,y);//เอาจำนวนทั้งสองมาคูณกันแล้วหารด้วย ห.ร.ม ของจำนวนเหล่านั้น
}