1.jmu-java&python-统计字符个数
编写程序统计1行字符串中:
- 不同字符的个数。
- 每种字符出现的次数。
函数接口定义:
Freq(line)
函数功能:该函数统计不同字符出现的次数,并最后按照字符升序进行输出。输出格式见输出样例。
参数说明:line为需要统计的字符串。
裁判测试程序样例:
/* 请在这里填写答案 */
line = input()
Freq(line)
输出格式说明:
- 第1行输出不同字符的个数。
- **=**两边应有空格。
- 上述输出样例中第2行的字符是空格。
- 输出按照字符升序排列。
代码如下:
def Freq(line):
arr = {}
for i in line:
arr[i] = arr.get(i, 0) + 1
arr = list(arr.items())
arr.sort(key=lambda x: x[0])
print(len(arr))
for i in range(len(arr)):
m, n = arr[i]
print("{0} = {1}" .format(m, n))
2.使用函数求余弦函数的近似值
本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加):
cos(x)=0!x0−2!x2+4!x4−6!x6+...
函数接口定义:funcos(eps,x ),其中用户传入的参数为eps和x;函数funcos应返回用给定公式计算出来,保留小数4位。
函数接口定义:
函数接口:
funcos(eps,x ),返回cos(x)的值。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
/* 请在这里填写答案 */
eps=float(input())
x=float(input())
value=funcos(eps,x )
print("cos({0}) = {1:.4f}".format(x,value))
代码如下:
i=i+2
for j in range(0,i,2):
if j%4==0:
s=s+x**j/A(j)
else:
s=s-x**j/A(j)
return s
def A(a):
if a==0:
return 1
sum=a*A(a-1)
return sum
3. jmu-python-计算薪资
某公司销售员底薪为5000,销售业绩与利润提成的关系如下表所示(计量单位:元)
编写函数,计算员工月薪。
函数接口定义:
bonus(sales)
其中 sales
是参数,表示员工的月销售业绩。
裁判测试程序样例:
/* 请在这里填写答案 */
sales=eval(input())
print("%.2f"%bonus(sales))
代码如下:
def bonus(sales):
a=float(sales)
if a<=10000:
return 5000
elif 10000<a<=20000:
return 5000+a*0.1
elif 20000<a<=50000:
return 5000+a*0.15
elif 50000<a<=100000:
return 5000+a*0.2
else:
return 5000+a*0.25
4.使用函数求素数和
使用函数求素数和
prime(p), 其中函数prime当用户传入参数p为素数时返回True,否则返回False. PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m<n。
函数接口定义:
在这里描述函数接口:
prime(p),返回True表示p是素数,返回False表示p不是素数
PrimeSum(m,n),函数返回素数和
裁判测试程序样例:
/* 请在这里填写答案 */
m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))
代码如下:
def A(m):
if m==1:
return False
for i in range(2,int(pow(m,1/2)+1)):
if m%i==0:
return False
return True
def B(m,n):
sum=0
for i in range(m,n+1):
if A(i)==True:
sum+=i
return sum
5. 完数统计
完数定义:一个数的所有因子(包括1)之和等于它自身,这个数就是完数。比如6=1+2+3,6是完数。 本题要求编写程序,计算所有N位完数的个数与列表显示。
函数接口定义:
def wan(n):
在这里解释接口参数。n是一个大于0的正整数。表示几位数。
裁判测试程序样例:
import math
/* 请在这里填写答案 */
n=int(input())
x,lst=wan(n)
print(x)
print(lst)
代码如下:
def wan(x):
arr = []
count=0
for n in range(int(math.pow(10,x-1)),int(math.pow(10,x))):
sum=1
for i in range(2,n):
if n%i ==0:
sum+=i
if sum== n :
arr.append(sum)
count +=1
return count,arr
6. 编写函数,判断用户传入的列表长度并完成切片
编写一个函数,判断用户传入的列表长度是否大于2,如果大于2,只保留前两个,并将新内容返回给调用者。
函数定义:
def func(list1)
裁判测试程序样例:
/* 请在这里填写答案 */
print(func([1, 2, 3, 4]))
print(func([5, 6]))
代码如下:
def func(l):
return l[:2]
7.python函数:递归求Fabonacci数列
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:
f(n)=f(n−2)+f(n−1) (n≥3),其中f(1)=1,f(2)=1。
函数接口定义:
函数接口:
f(n)
函数f应返回第n个Fabonacci数。题目保证输入输出在整型范围内。建议用递归实现。
裁判测试程序样例:
/* 请在这里填写答案 */
在这里给出函数被调用进行测试的例子。例如:
n=int(input())
print(f(n))
代码如下:
def f(n):
if (n == 1):
return 1
if (n == 2):
return 1
return f(n-1) + f(n-2)
8. 使用递归法对整数进行因数分解,输出成其质因数相乘的形式。
本题要求实现一个函数,可将任一正整数分解为其质因数相乘的形式。
函数接口定义:
在这里描述函数接口。例如:
def factors(num):
num是用户传入的参数。 num的值是正整数。 注意:这里函数只有一个参数。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
'''
你写的函数在这里
'''
facs=[]
n=int(input())
factors(n)
result='*'.join(map(str,facs))
if n==eval(result):
print(n,'='+result)
代码如下:
def factors(num):
if num != 1:
for i in range(2, num+1):
if num % i == 0:
if num/i == 1.0:
facs.append(i)
break
else:
num = int(num / i)
facs.append(i)
else:
continue
return factors(num)