สุ่มตัวเลขอะไรก็ได้ 5 ตัว รวมกันแล้วต้องเท่ากับ 30

เริ่มโดย hurahura, 21 กุมภาพันธ์ 2016, 19:21:08

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

hurahura

สุ่มตัวเลขอะไรก็ได้ 5 ตัว รวมกันแล้วต้องเท่ากับ 30 เขียนยังไง ถึงสั้นง่ายและเร็วที่สุดครับ  PHP


GigBoT

<?php
$a1 = rand(0,99);
$a2 = rand(0,99);
$a3 = rand(0,99);
$a4 = rand(0,99);
$total = 30;
$a5 = $total - ($a1 + $a2 + $a3 + $a4);

echo $a1." + ".$a2." + ".$a3." + ".$a4." ".$a5." = 30<br>";
echo "A1 = ".$a1."<br>";
echo "A2 = ".$a2."<br>";
echo "A3 = ".$a3."<br>";
echo "A4 = ".$a4."<br>";
echo "A5 = ".$a5."<br>";
?>

เขียนแบบลวกๆ ลองไปทดสอบดูนะครับ ฮ่าๆ ตัวอย่างผลลัพธ์ที่สุ่มได้
46 + 24 + 68 + 85 - 193 = 30
A1 = 46
A2 = 24
A3 = 68
A4 = 85
A5 = -193
[direct=https://pscclinic.com/breast-surgery/]ทำนม[/direct] - คลินิกเสริมหน้าอก PSC อันดับ 1 ของไทย
[direct=https://www.moveonmarketing.com/seo]รับทำ SEO สายขาว[/direct] |
[direct=https://www.cz.co.th/seo]รับทำ SEO[/direct]
[direct=https://www.nitithamclinic.com/laser-tattoo-removal-nitithamclinic/]ลบรอยสัก[/direct] - เลเซอร์ลบรอยสัก Pico Laser เห็นผลจริง มีรีวิวการันตี
[direct=https://www.ssdhosting.in.th/]WordPress Hosting[/direct] - โฮสติ้งคุณภาพ ที่ออกแบบมาเพื่อเว็บไซต์แบบ WordPress โดนเฉพาะ

hurahura

ขอบคุณครับ

โจทย์ผิด ขอเพิ่ม ต้องเป็นจำนวนเต็มบวก ด้วยครับ

Udonthanitimes

เข้าใจว่าโจทย์หมายถึงเลข 0-9 ต่อการสุ่มหนึ่งครั้ง

- ถ้าเป็นการสุ่มแบบอิสระต่อกัน (สร้างตัวแปรแบบ Array ของรูปแบบที่จะเกิดขึ้นได้รอไว้ แล้วสุ่ม)

- ถ้าเป็นการสุ่มแบบมีเงื่อนไข สุ่มครั้งแรกต้องมากกว่า 5 (ครั้งต่อๆไป ก็ใช้สูตรซ้อนกันอีก คล้ายๆความเห็นแรก)

p44n

1. สุ่มครั้งแรก ค่าต้องอยู่ระหว่าง 1 ถึง (30-4) ----- A
2. สุ่มครั้งที่ 2 ค่าต้องอยู่ระหว่าง 1 ถึง (30-A)-3 ------ B
3. สุ่มครั้งที่ 3 ค่าต้องอยู่ระหว่าง 1 ถึง (30-(A+B))-2 ------ C
4. สุ่มครั้งที่ 4 ค่าต้องอยู่ระหว่าง 1 ถึง (30-(A+B+C))-1 ------ D
5. ครั้งที่ 5 ค่าต้องเป็น 30-(A+B+C+D)

ตามนี้ครับ

Python, PHP OOP, MVC CodeIgniter, MongoDB, MySQL, MsSQL ,CSS Tableless, Responsive Design, Cross-platform, Javascript, jQuery, AngularJS, NodeJS,  Fackbook API, Paypal API, Omise API, Google Map API, C# Window Applications, .NET Framework, JAVA (Android Developer, JSP), Hybrid Application with Cordova + Ionic Framework, ReactJS, React Native

hurahura

ถ้าเพิ่มเงื่อนไขให้ค่าที่ได้แต่ละตัวอยู่ระหว่าง 4-9 ให้มันกระจายกันอย่างสมดุล แบบนี้มีวิธีไหนง่ายและสั้นที่สุดครับ