python练习5

给定两个均不超过9的正整数a和n,要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和

函数接口定义:


fn(a,n)
其中 a 和 n 都是用户传入的参数。 a 的值在[1, 9]范围;n 是[1, 9]区间内的个位数。函数须返回级数和
 

裁判测试程序样例:


/* 请在这里填写答案 */
		 
a,b=input().split()
s=fn(int(a),int(b))
print(s)
 

输入样例:

在这里给出一组输入。例如:

2 3
 

输出样例:

在这里给出相应的输出。例如:

246
def fn(a, b):
    # 求和
    sum = 0
    for i in range(0,b):
        sa = 0
        for n in range(0,i+1):
            sa = sa + a*(10**n)
        sum = sum + sa
        # print("第%d次为%d"%(i+1,sum))
    return sum

使用函数求余弦函数的近似值

本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加):

cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?

函数接口定义: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))
 

输入样例:

在这里给出一组输入。例如:

0.0001
-3.1
 

输出样例:

在这里给出相应的输出。例如:

cos(-3.1) = -0.9991
def funcos(eps, x):
    sum = 0.0000
    for i in range(0,10):
        # print(i)
        y = 2*i
        # print(y)
        # 求阶乘
        jiecheng = 1
        # 初始化
        if (y == 0):
            # 0的阶乘是1
            jiecheng = 1
        else:
            for n in range(1, y + 1):
                jiecheng = jiecheng * n
        # print(jiecheng)
        # print(x**y / jiecheng)
        value = x**y / jiecheng
        # print("第%d次为%.4f"%(i+1,value))
        if(abs(value)<eps):
            break
        # 求和
        if(i%2==0):
            # 偶数为+
            sum = sum + value
        else:
            # 基数为-
            sum = sum - value
        # print(sum)
    return sum

猜你喜欢

转载自www.cnblogs.com/msdog/p/12638913.html