PHP算法练习七:实现等比数列的判断方法

一、等比数列的定义

等比数列是指一个数列的每一项都等于前一项乘以一个常数d的结果。例如,1,2,4,8就是一个公比为2的等比数列。等比数列常用于数学,物理,计算机科学等领域。

二、等比数列的判断方法

判断一个数列是否为等比数列,需要对其相邻的两项进行比较,看它们的比值是否相等。如果比值相等,则该数列为等比数列,否则不是。其公式为:an / an-1 = an-1 / an-2

1. PHP实现

在PHP中,可以使用for循环来实现等比数列的判断方法,代码如下:

function isGeometricProgression($array){

for($i=2;$i

if($array[$i] / $array[$i-1] != $array[$i-1] / $array[$i-2]){

return false;

}

}

return true;

}

$array1 = array(1,2,4,8);

$array2 = array(1,3,9,27,81);

if(isGeometricProgression($array1)){

echo "array1 is a Geometric Progression.";

}else{

echo "array1 is not a Geometric Progression.";

}

if(isGeometricProgression($array2)){

echo "array2 is a Geometric Progression.";

}else{

echo "array2 is not a Geometric Progression.";

}

注意:在实现中需要注意数组的下标,数组下标是从0开始的。

2. Python实现

在Python中,可以使用for循环来实现等比数列的判断方法,代码如下:

def is_geometric_progression(l):

for i in range(2,len(l)):

if l[i] / l[i-1] != l[i-1] / l[i-2]:

return False

return True

l1 = [1,2,4,8]

l2 = [1,3,9,27,81]

if is_geometric_progression(l1):

print("l1 is a Geometric Progression.")

else:

print("l1 is not a Geometric Progression.")

if is_geometric_progression(l2):

print("l2 is a Geometric Progression.")

else:

print("l2 is not a Geometric Progression.")

注意:在Python中,需要使用:来表示循环体,另外,需要注意索引值的范围。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签