1. 编写一个函数,输入参数是一个正整数$n$,返回第一个大于$n$的质数。

  1. 如果一个正整数$n$的所有因子(不包括其本身)之和等于$n$,称该数是完美数。比如28的所有因子之和是1+2+4+7+14=28,所以它是一个完美数。编写一个函数,输入参数是一个正整数,如果其是完美数,返回True,否则返回False。

  1. 一个正整数的密度定义为其各位数字的和与其位数的商。比如1234的密度是(1+2+3+4)/4=2.5。编写一个函数,输入参数是一个正整数,返回该数的密度。

  1. 编写一个函数,输入参数是一个整数列表,返回该列表中出现次数最多的数以及它的出现次数。比如输入列表是[1,2,3,2,3,4,3,4,5],那么返回(3, 3),因为数字3出现次数最多,共出现了3次。

  1. 斐波那契数列的前两项是1和1,后面每项都是其前两项的和,即1,1,2,3,5,8,13,21,…。编写一个函数,输入参数是正整数$n$,返回斐波那契数列前$n$项的和。

  1. 编写一个函数,输入参数是两个正整数$a$和$n$,返回$S_n=a+aa+\cdots+\overbrace{a\cdots a}^{n}$的值。比如当$a$=3,$n$=5时,返回值为3+33+333+3333+33333=37035

  1. 如果一个质数倒过来写仍然是一个质数,那么称其是反质数。比如17倒过来写是71,且两者均为质数,所以17和71都是反质数。编写一个函数,输入参数是一个正整数$n$,以列表的形式返回前$n$个反质数。

  1. 编写一个函数,输入参数是一个整数列表,将其按照整数的因子个数从大到小排序,如果因子个数相等,则按照整数自然大小升序排序,返回排序后的列表。比如输入列表是[14, 12, 6],返回列表是[12, 6, 14] 。因为14有3个因子(1, 2, 7),12有5个因子(1, 2, 3, 4, 6),6有3个因子(1, 2, 3)。

  1. 如果一个字符串可以通过重新排列另一个字符串的字符得到,称这两个字符串同构。比如字符串cat和act同构,字符串leader和dealer同构。编写一个函数,输入参数是两个由小写字符组成的字符串,如果它们是同构的,返回True,否则返回False。

  1. 编写一个函数,输入参数是一个字符串列表,将其中同构的字符串删除,返回删除后的列表。比如输入列表是[‘cat’, ‘leader’, ‘bus’, ‘act’, ‘dealer’, ‘but’],返回列表是[‘bus’, ‘but’]。因为cat和act同构,leader和dealer同构。
An Liu
An Liu
Professor of Computer Science

My research interests include data management, crowdsourcing, recommender systems, data security and privacy, and cloud/service computing.