本文目錄一覽:
- 1、怎麼求一組數的最大奇因數之和
- 2、PHP中如何使用foreach循環遍曆數組求6、8、10、4、3中的最大值和最小值?
- 3、python求最大公約數和最小公倍數
- 4、PHP如何求最大公約數與最小公倍數
- 5、在一個php數組中,裏面有(78.65.28.35等)求最大值和最小值,(不能用max等函數)
怎麼求一組數的最大奇因數之和
有一種叫輾轉相除法
兩個整數的最大公約數等於「其中較小的數」和「兩數的差」的最大公約。
例如,252和105的最大公約數是21(252 = 21 × 12;105 = 21 × 5
因為兩數之差252 − 105 = 147
147和105的最大公約數是21.所以252和105的最大公約數是21
還可以繼續輾轉下去
147和105的最大公約數就是
147-105=42與105的最大公約數
繼續輾轉
42與105的最大公約數就是
105-42=63與42的最大公約數,這是很明顯就看出是21 了
PHP中如何使用foreach循環遍曆數組求6、8、10、4、3中的最大值和最小值?
不需要使用
foreach
就能從數組
6、8、10、4、3
求出最大最小值,可以使用以下代碼:
12345678?php $a = array(8,40,3,5,6,10);sort($a, SORT_NUMERIC);//最小值$min = reset($a);//最大值$max = end($a);
所需知識點:
數組排序函數
sort
數組游標
python求最大公約數和最小公倍數
不知道神馬叫輾轉相除法,直接用for:
#python3
import re
inp = input(‘Please input two integers: ‘)
a, b = [int(i) for i in re.findall(r’\d+’, inp)]
def gys(m, n):
if m == 1 or m == n:
return m
for i in range(min(m, n), 0, -1):
if m%i == 0 and n%i == 0:
return i
g = gys(a, b)
print(‘最大公約數: ‘, g)
print(‘最小公倍數: ‘, a*b//g)
$ python3 gys.py
Please input two integers: 99 36
最大公約數: 9
最小公倍數: 396
PHP如何求最大公約數與最小公倍數
//求最大公約數
function max_divisor($a,$b)
{
$n = min($a, $b);
for($i=$n; $i1; $i–)
{
if (is_int($a/$i)is_int($b/$i))
{
return $i; //此處如果用echo $i;則輸出結果為432;故應區分echo、return的區別
}
}
return 1;
}
//求最小公倍數
function min_multiple($a, $b)
{ if($b==0) //一定要考慮除數不能為零
{
return $b;
}else{
$m = max($a, $b);
$n = min($a, $b);
for($i=2; ; $i++)
{
if (is_int($m*$i/$n))
{
return $i;
}
}
}
return $a*$b;
}
//輾轉相除法求最大公約數
function max_divisor2($a, $b)
{
if($b==0)
{
return $a;
}
else
{
return max_divisor2($b,($a%$b));
}
}
//加減法求最大公約數
function max_divisor3($a, $b)
{
if ($a == $b)
{
return $a;
}
elseif($a $b)
{
$a = $a-$b;
}
else
{
$b = $b-$a;
}
return max_divisor3($a, $b);
}
在一個php數組中,裏面有(78.65.28.35等)求最大值和最小值,(不能用max等函數)
掃描一遍就可以獲得最大值、最小值、平均值,掃描數組使用foreach,下面是例子代碼:
?php
$arr = array(78, 65, 28, 35);
$max=$arr[0];
$min=$arr[0];
$sum=0;
$num=0;
foreach ($arr as $x){
if ($x$max) $max=$x;
if ($x$min) $min=$x;
$sum+=$x;
$num++;
}
$avg=$sum/$num;
echo “最大值{$max},最小值{$min},平均值{$avg}”;
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/284990.html