您的位置:

使用php求最大奇约数的和,php求最大公约数

本文目录一览:

怎么求一组数的最大奇因数之和

有一种叫辗转相除法

两个整数的最大公约数等于“其中较小的数”和“两数的差”的最大公约。

例如,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}";

?