วันจันทร์ที่ 2 กันยายน พ.ศ. 2556

-G.C.D. & L.C.D.-

void setup(){
int m=gcd(100,43);  //ประกาศตัวแปลโดยให้มีการเรียกใช้ฟังก์ชันเลย และส่งค่า 100กับ43
                                  ไปยังฟังก์ชัน gcd( )
int c=lcd(100,43);    //ประกาศตัวแปลโดยให้มีการเรียกใช้ฟังก์ชันเลย และส่งค่า 100กับ43
                                  ไปยังฟังก์ชัน lcd( )
println(m);     //แสดงค่าของ m ออกมาที่หน้าจอ
println(c);     //แสดงค่าของ c ออกมาที่หน้าจอ
}

int gcd(int x,int y){   // ฟังก์ชันนี้มีการ return ค่าเป็นจำนวนเต็ม และมีparameter เป็น xและ y
 if(x==0){return y;}    //bass case
 if(y==0){return x;}    //bass case
 if(x>y){return gcd(y,x%y);} //เช็คเงื้อนไขว่าเป็นจริงหรือไม่ และมีการreturn ค่ากลับไปที่ฟังชัน
                                            โปรแกรมจำทำแบบนี้ไปเรื่อยๆจนกว่าจะไปเข้าเงื้อนไขที่อยู่ในbass case
                                            การเขียนโปรแกรมแบบนี้เรียกว่า การเขียนแบบ Recursive function
                                            ( เรียกใช้ตัวเอง )
 else{return gcd(x,y%x);}
}

int lcd(int x,int y){        // ฟังก์ชันนี้มีการ return ค่าเป็นจำนวนเต็ม และมีparameter เป็น xและ y
 return (x*y)/gcd(x,y);     //เรียกใช้ฟังก์ชันgcd()มาคำนวน return ค่าที่ได้จากการคำนวนไปยังฟังก์ชัน lcd

}

Out put : GCD is : 1
              LCD  is : 4300


ไม่มีความคิดเห็น:

แสดงความคิดเห็น