PDA

View Full Version : حرفه ای: حل معادلات ریاضی



hassanzanjani1374
شنبه 04 آذر 1391, 10:07 صبح
سلام دوستان ، وقتتون بخیر
چجوری میتونم یک معادله رو با پی اچ پی حل کنم . مثلا :
2x = 3y
من کمترین مقدار صحیح مثبت x و y رو می خوام که تو این معادله 2 و 3 هست . بی زحمت کمکم کنید . مرسی

MMSHFE
شنبه 04 آذر 1391, 10:40 صبح
<?php
// 2x = 3y
// x = (3 / 2) * y
// Because y is divided by 2, if we want x to be integer, y should be even
$values = array();
for($x = 1; $x < 100; $x++) {
for($y = 2; $y < 100; $y += 2) {
if($x == (3 / 2) * $y) {
$values[] = array($x, $y);
}
}
}
var_dump($values);
?>

خروجی:


array
0 =>
array
0 => int 3
1 => int 2
1 =>
array
0 => int 6
1 => int 4
2 =>
array
0 => int 9
1 => int 6
3 =>
array
0 => int 12
1 => int 8
4 =>
array
0 => int 15
1 => int 10
5 =>
array
0 => int 18
1 => int 12
6 =>
array
0 => int 21
1 => int 14
7 =>
array
0 => int 24
1 => int 16
8 =>
array
0 => int 27
1 => int 18
9 =>
array
0 => int 30
1 => int 20
10 =>
array
0 => int 33
1 => int 22
11 =>
array
0 => int 36
1 => int 24
12 =>
array
0 => int 39
1 => int 26
13 =>
array
0 => int 42
1 => int 28
14 =>
array
0 => int 45
1 => int 30
15 =>
array
0 => int 48
1 => int 32
16 =>
array
0 => int 51
1 => int 34
17 =>
array
0 => int 54
1 => int 36
18 =>
array
0 => int 57
1 => int 38
19 =>
array
0 => int 60
1 => int 40
20 =>
array
0 => int 63
1 => int 42
21 =>
array
0 => int 66
1 => int 44
22 =>
array
0 => int 69
1 => int 46
23 =>
array
0 => int 72
1 => int 48
24 =>
array
0 => int 75
1 => int 50
25 =>
array
0 => int 78
1 => int 52
26 =>
array
0 => int 81
1 => int 54
27 =>
array
0 => int 84
1 => int 56
28 =>
array
0 => int 87
1 => int 58
29 =>
array
0 => int 90
1 => int 60
30 =>
array
0 => int 93
1 => int 62
31 =>
array
0 => int 96
1 => int 64
32 =>
array
0 => int 99
1 => int 66

این کد حالتهای ممکن زیر 100 رو بهتون میده. حالا میتونید هرجور میخواین فیلترش کنید. مثلاً $values[0] کمترین مقدار رو به شما اعلام میکنه. موفق باشید.

hassanzanjani1374
شنبه 04 آذر 1391, 10:50 صبح
بی زحمت کد رو یه جوری بدین که اولا ممکنه بزرگتر از 100 تا 1000 باشه و بعد کوچکترین مقدار صحیح مثبت رو فقط بهم بده . مرسی

MMSHFE
شنبه 04 آذر 1391, 11:16 صبح
<?php
// 2x = 3y
// x = (3 / 2) * y
// Because y is divided by 2, if we want x to be integer, y should be even
$values = array();
for($x = 1; $x < PHP_INT_MAX; $x++) {
for($y = 2; $y <= (2 / 3) * $x; $y += 2) {
if($x == (3 / 2) * $y) {
$values[] = array($x, $y);
}
if(count($values) > 0) {
break;
}
}
if(count($values) > 0) {
break;
}
}
var_dump($values[0]);
?>