สุ่มตัวเลขที่หารลงตัว ทำไงครับ

ตอนนี้กำลังทำสื่อการเรียนอยู่ครับ (ของ ป.2) โดยการหาร จะกำหนดให้สุ่มตัวเลข 3 หลัก กำหนดไว้เป็นตัวตั้ง และสุ่มตัวเลขอีกชุดนึงเป็น 2 หลัก กำหนดเป็นตัวหาร โดยค่าที่ได้จากสุ่ม เมื่อคำนวณแล้วจะต้องเป็นค่าลงตัวเท่านั้น ไม่มีทศนิยม เพราะ ป.2 เป็นการเรียนเรื่องหารแบบลงตัว ไม่รู้ว่าจะเขียนฟังก์ชันตรวจสอบยังไงครับ รบกวนเขียนอธิบายด้วยครับ ผมใช้โปรแกรม app inventor อยู่ครับ แต่อาจจะอธิบายเป็นขั้นตอนเฉย ๆ ประกอบยกตัวอย่าง หรืออธิบายเป็นโค้ดภาษาใดโปรแกรมอื่น ๆ ก็ได้ครับ ขอบคุณมากครับ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 5
1 ตั้งตัวแปร a เป็นตัวตั้ง
2 สุ่มตัวเลข 100-999 ... สมมุติได้ค่า 365
3 ตั้งตัวแปร b เป็นตัวหาร
4 สุ่มตัวเลข 10-99 ... สมมุติได้ค่า 47
5 ตั้งตัวแปร c
6 c = a / b = 7.7659574468085106382978723404255
7 ตัดเศษ c ทิ้ง = 7
8 ให้ a = c * b = 329
ก็จะได้ ตัวตั้งเป็น 329 ตัวหารเป็น 47 ครับ หารได้ 7 ไม่มีเศษ

แต่แค่นี้ยังไม่รัดกุม ต้องป้องกันกรณี ตัว a ต่ำกว่า 100 ไม่เช่นนั้นจะไม่เป็น 3 หลักตามที่ต้องการ
1 ตั้งตัวแปร a เป็นตัวตั้ง
2 สุ่มตัวเลข 100-999 ... สมมุติได้ค่า 125
3 ตั้งตัวแปร b เป็นตัวหาร
4 สุ่มตัวเลข 10-99 ... สมมุติได้ค่า 32
5 ตั้งตัวแปร c
6 c = a / b = 3.90625
7 ตัดเศษ c ทิ้ง = 3
8 ให้ a = c * b = 96 (ตัวตั้งเท่ากับ 96 ไม่ใช่เลข 3 หลักตามที่ต้องการ)
9 ถ้า a น้อยกว่า 100 ให้ย้อนกลับไปเริ่มขั้นตอนที่ 1 ใหม่

เป็น C/C++ ได้ดังนี้

int a, b, c;
do {
    a = rand() % 900 + 100;  // สุ่มค่าตั้งแต่ 100-999
    b = rand() % 90 + 10;       // สุ่มค่าตั้งแต่ 10-99
    c = a / b;
    a = b * c;
} while (a < 100);
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่