4 เม.ย. 2021 เวลา 08:13 • วิทยาศาสตร์ & เทคโนโลยี
วิธีการหาเลข 3 ตัว โต๊ด !!! หรือการสลับตำแหน่งเลข 3 ตัว แบบไม่ซ้ำกัน
1
สำหรับคนที่ชอบเสี่ยงโชค การหาเลขสลับตำแหน่ง 3 ตัว แบบไม่ซ้ำกัน 6 ตัว หรือเรียกว่า "โต๊ด" คงไม่ใช่เรื่องยาก แต่สลับผู้เขียนแล้วช่างเข้าใจยากยิ่ง ผู้เขียนเลยไปเสาะหาวิธีที่เข้าใจง่าย และเอามาลองเขียนโปรแกรมดู ซึ่งช่วยให้คิดเร็วขึ้นเยอะ
ผู้เขียนใช้ Google Apps Script ใน Google Sheets เพื่อเขียนโปรแกรมและแสดงผลนะครับ บอกไว้ก่อน ส่วนผู้อ่านอาจใช้ภาษาอะไรก็ได้ แต่ลอจิกเดียวกัน
อธิบายวิธีการหาเลขโต๊ดกันก่อน
สมมุติตัวเลข 3 หลัก เป็น 123
ขั้นตอนที่ 1 แยกสองหลักด้านหน้าออกมานั้นคือ 12 แล้วทำการสลับตำแหน่ง ได้เป็น 12 และ 21
ขั้นตอนที่ 2 นำเลข 2 หลักที่สลับกันเมื่อกี้มา แล้วเอาเลขตัวหลังสุดคือ 3 มาใส่ด้านหน้า ตรงกลาง และข้างหลัง ตัวอย่างเช่น เลข 2 หลัก 12 ก็จะได้ 312 132 123 และ 21 ก็จะได้ 321 231 213
แค่นี้เราก็จะได้เลขโต๊ดที่ต้องการแล้ว คือ 312 132 123 321 231 213 ง่ายไหมครับ
เมื่อนำมาเขียนโปรแกรมก็จะได้
function myFunction() {
var num = 123; //ตัวเลขที่ต้องการหาโต๊ด
var textnum = num.toString(); //แปลงตัวเลขเป็นตัวอักษร
var numlv1=[]; //ประกาศตัวแปลให้เป็น Array
var numlv2=[];
2
//จัดการ level 1 โดยการสลับตัวเลข 2 หลักซ้ายสุด
numlv1[0]=textnum.substr(0,1)+textnum.substr(1,1);
numlv1[1]=textnum.substr(1,1)+textnum.substr(0,1);
2
//จัดการ level 2
var endnum = textnum.substr(2,1); //จำเลขตัวสุดท้าย
for(var i=0;i <=2-1;i++){ //วนลูปการแทรกตัวเลข ทั้ง 2 ตัวเลขจาก level 1
numlv2[0] = numlv1[i].substr(0,1); //แยกตัวเลข หลักแรกออกมา จากตัวเลข level 1
numlv2[1] = numlv1[i].substr(1,1); //แยกตัวเลข หลักที่ 2 ออกมา จากตัวเลข level 1
//แทรกตัวเลขตัวสุดท้าย หน้า กลาง หลัง
Logger.log(endnum+numlv2[0]+numlv2[1]+" "+numlv2[0]+endnum+numlv2[1]+" "+numlv2[0]+numlv2[1]+endnum); //แสดงผล
}
}
2
มาลอง run กันดู
โฆษณา