|
|
|
ขอถามเกี่ยวกับการเขียนโปรแกรมคำนวนทางคณิตศาสตร์หน่อยครับ คิดไม่ออกจริงๆ |
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2018-06-11 09:42:11 |
By :
aimoomoo-2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าสนใจดีครับ ผมคิดตาม logic กากๆของผม ถ้ามีท่านอื่นแนะนำได้ดี โปรดชี้แนะ
head]Code (PHP)[/head]
function calculate($number) {
$bases = [
['weight' => 3.6 ,'num' => 5000],
['weight' => 1.9 ,'num' => 3000]
];
$type = 1;
$base_match = 0;
foreach($bases as $k => $base) {
if(checkMatch($number, $base['num'])) {
$type = 0;
$base_match = $k;
}
}
display($number, $bases, $type, $base_match);
}
function display($number, $bases, $type, $base_match) {
$remain = $number;
$result = [];
if($type) {
foreach ($bases as $k => $base) {
if($remain % $base['num'] == 0) {
while($remain >= $base['num'] && ($remain % $base['num'] == 0)) {
$result[$k] = floor($remain / $base['num']);
$remain = $remain % $base['num'];
echo 'weight '.$bases[$k]['weight'].' is ' .$result[$k].' remain = '.$remain."<br>";
}
} else {
while($remain >= $base['num']) {
$result[$k] = floor($remain / $base['num']);
$remain = $remain % $base['num'];
echo 'weight '.$bases[$k]['weight'].' is ' .$result[$k].' remain = '.$remain."<br>";
}
}
}
} else {
$result = $number / $bases[$base_match]['num'];
$remain = 0;
echo 'weight '.$bases[$base_match]['weight'].' is ' .$result.' remain = '.$remain."<br>";
}
}
function checkMatch($number, $base)
{
return $number % $base == 0;
}
calculate(9000);
ปล. จะมีบัคเรื่องเวลา ค่าที่ number มันน้อยกว่า base
|
|
|
|
|
Date :
2018-06-11 12:05:35 |
By :
DK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปล.2 ผมเขียนหาจำนวนครั้งที่ base นั้นๆเป็นไปได้ไม่ได้ให้มัน echo กี่ที ตามที่ จขกท. ต้องการนะครับเมื่อรู้ว่ามันเป็นไปได้กี่ครั้งก็จะ รู้ว่าต้องเอามาโชว์กี่ที
|
|
|
|
|
Date :
2018-06-11 12:08:43 |
By :
DK |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอย่างข้อมูลน้อยไปหน่อย
ถ้า 10000 จะเป็น 5000 2 ครั้งหรือเปล่า
และ 15000 จะเป็น 5000 3 ครั้ง หรือ 3000 5 ครั้ง หรือเปล่า
และถ้าไม่ลงตัวทั้งสอง เช่นพิมพ์ 7000 จะแสดงยังไง
และมีจำกัด maximum หรือไม่ และเป็นเลขตัวกลมหรือเปล่า
|
|
|
|
|
Date :
2018-06-11 15:00:30 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|