算法练习题

  1. 斐波那契数列:1   1    2   3    5     8    13     21  …… 求第20个数;
  2. 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
  1. 求1000以内的水仙花数
  2. 求一个数的阶乘
  1. 求多个连续数的阶乘之和
  2. 如果今天是星期二,那么1000天后是星期几?用户输入一个天数,计算这个天数后是星期几?
  1. 苹果3元一个,鸭梨2元一个,桃子1元一个。现在想用200元买100个水果,在控制台中列出所有可能性
  2. 求任意一个小于100000的正整数的位数,并逆序打印每一位数字
    比如:567,位数是3位,以此打印7 ,6 ,5
  1. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
    程序分析:请抓住分子与分母的变化规律。
  2. 有一些苹果,每人分5个多1个,每人分6个多2个,每人分7个多3个,一共有多少个苹果
  1. 判断一个数字是不是素数
  2. 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
  1. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由用户输入(prompt)
  2. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  1. 求10000以内的完美数 如果一个数恰好等于它的约数之和,则称该数位“完美数”。
  2. 寻找丑数
    题目:我们把只包含因子2、3 和5 的数称作丑数(Ugly Number)。例如6、8 都是丑数,但14 不是,因为它包含因子7。习惯上我们把1 当做是第一个丑数。求按从小到大的顺序的第1500 个丑数。
  1. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
    程序分析:采取逆向思维的方法,从后往前推断。
  2. 和为n 连续正数序列
    题目:输入一个正数n,输出所有和为n 连续正数序列。
    例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。
  1. 封装一个函数reverse,将数组arr的数据反转,并将反转的数组返回
    reverse(arr)
    例如:arr=[10,20,30,40]反转以后为[40,30,20,10]
  2. 封装一个函数slice:
    slice(arr,n,m):表示将arr的n到m位的数据放入一个新的数组并且返回
    arr=[10,20,30,40,50,60]
    slice(arr,1,3) [20,30,40]
  1. 封装一个函数unique,判断数组中有且只有一个num,如果满足则返回true,否则返回false
    unique(arr,num)
  2. 调整数组顺序使奇数位于偶数前面
    题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
  1. 求数组中的最大值和最小值,以及对应的下标(不考虑重复的值)
  2. 用户随意输入一个字符串,判断他是不是合法的邮箱
  3. 验证邮箱有效性

    eg:email@126.com

    1.最短8位,最长20位
    2.字符串中必须有@,并且@不能是第一位
    3.必须有点.,必须在@后边,并且不能是最后一位

posted @ 2022-01-04 14:40  冉姑娘  阅读(214)  评论(0编辑  收藏  举报