คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 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);
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);
แสดงความคิดเห็น
สุ่มตัวเลขที่หารลงตัว ทำไงครับ