求幂级数展开的部分和 / 求分数序列前N项和 / 特殊a串数列求和

本文解析了三个数学编程题目,包括利用幂级数求e的x次幂近似值、求分数序列前N项和以及特殊a串数列求和。通过具体示例展示了算法实现过程。

习题4-2 求幂级数展开的部分和   (20分)

已知函数e^xex可以展开为幂级数1+x+x^2 /2! + x^3 /3! + \cdots + x^k /k! + \cdots1+x+x2/2!+x3/3!++xk/k!+。现给定一个实数xx,要求利用此幂级数部分和求e^xex的近似值,求和一直继续到最后一项的绝对值小于0.00001。

输入格式:

输入在一行中给出一个实数x\in [0, 5]x[0,5]

输出格式:

在一行中输出满足条件的幂级数部分和,保留小数点后四位。

输入样例:

1.2

输出样例:

3.3201

#include <stdio.h>
#include <math.h>

int factorial(int n);

int main(){

	int i=1;
	double sum=1,t,x;

	scanf("%lf", &x);

	do{
		t=pow(x,i)/factorial(i);
		sum+=t;
		i++;
		printf("t = %f, sum = %f\n", t, sum);
	
	}while(t>=1E-5);

	printf("%.4f\n", sum);

	return 0;
}

int factorial(int n){
	if(n<=1)
		return 1;
	return n*factorial(n-1);
}

习题4-3 求分数序列前N项和   (15分)

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

20

输出样例:

32.66

#include <stdio.h>

int main(){
	int i,n,fenzi=2,fenmu=1,tmp;
	double sum=0;

	scanf("%d", &n);

	for(i=1;i<=n;i++){
		sum+=1.0*fenzi/fenmu;
		tmp=fenzi;
		fenzi=fenzi+fenmu;
		fenmu=tmp;
	}
	printf("%.2f\n", sum);

	return 0;
}

习题4-4 特殊a串数列求和   (20分)

给定两个均不超过9的正整数aann,要求编写程序求a+aa+aaa++\cdots +aa\cdots aa+aa+aaa+++aaannaa)之和。

输入格式:

输入在一行中给出不超过9的正整数aann

输出格式:

在一行中按照“s = 对应的和”的格式输出。

输入样例:

2 3

输出样例:

s = 246

#include <stdio.h>

int main(){

	int i,a,n,sum=0,t=0;

	scanf("%d %d", &a, &n);

	for(i=1;i<=n;i++){
		t=t*10+a;
		sum=sum+t;
		printf("t = %d\n", t);
	}
	
	printf("S = %d\n", sum);

	return 0;
}









评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值