pta 攀登者 7-33 求分数序列前N项和

题目:

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

输入格式:

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

输出格式:

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

样例">样例">样例">输入样例:

20

输出样例:

32.66

代码其一:

标准for循环写的,简单小巧,惹人喜爱。

#include<stdio.h>
int main()
{
	int n,m;
	double a=2,b=1,t;
	double ans=0.0,flag;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		ans+=a/b;
		t=a;
		a=a+b;
		b=t;
	}
	printf("%.2lf",ans);
	return 0;
}

代码其二: 

        递归写的,当时是想练一下手,改了好长时间,成功了,我认为的要点:double型和double型四则运算,最好全部设成同一种类型。

        用过了(double)强制转化,答案和ac代码完全相同,我试到了n=33333,都一毛一样但系统不给过,只能说pta太严了。。。。

#include<stdio.h>
#include<math.h>
double n,m,flag;
double ans=0;

void dai(double a,double b,double mm)
{
	if(mm==n)
	{
		ans+=a/b;
		return;
	}
	ans+=a/b;
	dai(a+b,a,mm+1);
}

int main()
{
	double tt;
	scanf("%lf",&n);
	dai(2,1,1);
	printf("%.2f",ans);
	return 0;
}

下雨了,抱怨一下。 

“华为OD机试 - 攀登者1”是华为公司的一场在线岗位技术面试。在这场机试中,面试者扮演的角色是“攀登者1”,需要展示自己在软件开发和技术问题解决方面的能力。 首先,作为攀登者1,必须具备扎实的编程技能。这包括熟练掌握至少一种主流编程语言,并能够在给定的时间内编写出有效的代码。此外,对常见的数据结构和算法也应有一定的了解,以便能够在解决问题时选择最优解决方案。 其次,攀登者1需要展示出对软件开发流程的理解。这包括了解需分析、设计、编码和测试等一系列开发过程,并能够合理地组织和安排自己的开发任务。同时,对于代码质量的重视也是非常重要的,攀登者1需要注意代码的可读性、可维护性和扩展性等方面。 此外,在面试过程中,攀登者1需要展示自己在解决技术问题时的思考能力和解决能力。这意味着在面对复杂的技术问题时能够有条不紊地分析问题、确定解决方案,并能够迅速实施和测试解决方案。同时,攀登者1需要具备快速学习和适应新技术的能力,因为技术的更新换代很快,对新技术的学习和掌握能力是面试中的重要评价指标之一。 总结起来,“华为OD机试 - 攀登者1”是一场测试面试者在软件开发和技术问题解决方面能力的机试。面试者需要展示自己的编程技能、软件开发流程理解、问题解决能力和学习能力等方面的能力。只有在这些方面能够表现出色,攀登者1才能成功地通过这场机试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值