2、有一母牛,到4岁可生养,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁去世亡,问n年后有多少头牛。

3、杨辉三角

4.冒泡排序

phppow函数20个PHP最经典算法请懂得一下 Docker

5.快速排序

6.二分查找算法(半数查找算法)

7.PHP奇异算法

PHP7以下的版本返回的是 6,PHP7版本返回5 ,还真的算奇异,个人底层算法差,认为是PHP7以下版本的BUG

8.字符凑集:输入一个字符串,求出该字符串包含的字符凑集,并按顺序排序(英文)

9.遍历一个文件下的所有文件和子文件夹下的文件

10.从一个标准的Url提取出文件的扩展名

11.有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?例如:统共3级台阶,可以先迈1级再迈2级,或者先迈2级再迈1级,或者迈3次1级统共3中办法

12.请写一段PHP代码,确保多个进程同时写入同一个文件成功

13.无限级分类

14.获取上个月第一天 和 末了一天

15.随机输入一个数字能查询到对应的数据区间

16,现在有一个字符串,你要对这个字符串进行 n 次操作,每次操作给出两个数字:(p, l) 表示当前字符串中从下标为 p 的字符开始的长度为 l 的一个子串。
你要将这个子串旁边翻转后插在这个子串原来位置的正后方,求末了得到的字符串是什么。
字符串的下标是从 0 开始的,你可以从样例中得到更多信息。

每组测试用例仅包含一组数据,每组数据第一行为原字符串,长度不超过 10 ,仅包含大小写字符与数字。
接下来会有一个数字 n 表示有 n 个操作,再接下来有 n 行,每行两个整数,表示每次操作的(p , l)。

担保输入的操作一定合法,末了得到的字符串长度不超过 1000。

17,你作为一名出道的歌手终于要出自己的第一份专辑了,你操持收录 n 首歌而且每首歌的长度都是 s 秒,每首歌必须完全地收录于一张 CD 当中。
每张 CD 的容量长度都是 L 秒,而且你至少得担保同一张 CD 内相邻两首歌中间至少要隔 1 秒。
为了辟邪,你决定任意一张 CD 内的歌数不能被 13 这个数字整除,那么叨教你出这张专辑至少须要多少张 CD ?

每组测试用例仅包含一组数据,每组数据第一行为三个正整数 n, s, L。
担保 n ≤ 100 , s ≤ L ≤ 10000

18 用PHP实现一个双向行列步队

19 请利用冒泡排序法对以下一组数据进行排序10 2 36 14 10 25 23 85 99 45。

20 写出一种排序算法(要写出代码),并说出优化它的方法。

21 洗牌算法

程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,如果兔子都不去世,问每个月的兔子总数为多少?

1.程序剖析: 兔子的规律为数列1,1,2,3,5,8,13,21....

2 便是第三个数是前两个数字的和,既是经典的菲波那切数列

【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序剖析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数

【程序3】 题目:打印出所有的 \公众水仙花数 \"大众,所谓 \"大众水仙花数 \"大众是指一个三位数,其各位数字立方和即是该数本身。
例如:153是一个 \"大众水仙花数 \公众,由于153=1的三次方+5的三次方+3的三次方。

1.程序剖析:利用for循环掌握100-999个数,每个数分解出个位,十位,百位。

【程序4】 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序剖析:(a> b)?a:b这是条件运算符的基本例子。

【程序5】 题目:求s=a+aa+aaa+aaaa+aa...a的值,个中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘掌握。

1.程序剖析:关键是循环得到打算出每一项的值。

2. 可以利用php的str_repeat函数

【程序6】题目:一个整数,它加上100后是一个完备平方数,加上168又是一个完备平方数,叨教该数是多少?

1.程序剖析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果知足如下条件,即是结果。
请看详细剖析:

刚开始不知道怎么判断一个数字是否为完备平方数,但是根据php的基本函数sqrt和pow可以间接进行判断

若开方后进行取整再平方即是原数字,那么这个数字则为一个完备平方数,根据这个方法进行判断

【程序7】 题目:输入某年某月某日,判断这一天是这一年的第几天?

1.程序剖析:以3月5日为例,该当先把前两个月的加起来,然后再加上5天即本年的第几天,分外情形,闰年且输入月份大于3时需考虑多加一天。
刚开始看这题以为有什么大略的方法,但是我没有想到,没有办法,只能用这种方法了

【程序8】 题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序剖析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交流,然后再用x与z进行比较,如果x> z则将x与z的值进行交流,这样能使x最小。

这里不把排序当做稽核点,排序的话可以利用冒泡,快速,插入等排序算法,这里利用了三种交流变量的办法,我觉得这才是主要的

【程序9】 题目:输出99口诀。

1.程序剖析:分行与列考虑,共9行9列,i掌握行,j掌握列。

【程序10】 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

1.程序剖析:请捉住分子与分母的变革规律。

【程序11】 题目:求1+2!+3!+...+20!的和

1.程序剖析:此程序只是把累加变成了累乘

【程序12】 题目:利用递归方法求5!。

1.程序剖析:递归公式:fn=fn_14!

【程序13】 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。
问第4个人岁数,他说比第3个人大2岁。
问第三个人,又说比第2人大两岁。
问第2个人,说比第一个人大两岁。
末了问第一个人,他说是10岁。
叨教第五个人多大?

1.程序剖析:利用递归的方法,递归分为回推和递推两个阶段。
要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

【程序14】 题目:给一个不多于5位的正整数,哀求:一、求它是几位数,二、逆序打印出各位数字。

【程序15】 题目:一个5位数,判断它是不是回文数。
即12321是回文数,个位与万位相同,十位与千位相同。