您的位置:首页 > 其它

HDU2009求数列的和(两种思想)

2016-02-25 13:29 375 查看

求数列的和

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 65636 Accepted Submission(s): 40054

[align=left]Problem Description[/align]
数列的定义如下:

数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。

[align=left]Input[/align]
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。

[align=left]Output[/align]
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。

[align=left]Sample Input[/align]

81 4
2 2


[align=left]Sample Output[/align]

94.73
3.41


[align=left]Author[/align]
lcy

[align=left]Source[/align]
C语言程序设计练习(二)

[align=left]Recommend[/align]
JGShining | We have carefully selected several similar problems for you: 2023 2034 2048 1002 2028

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2009

方式一:
#include <stdio.h>
#include <math.h>
int main()
{
int m;
double n,sum;
while (scanf("%lf %d",&n,&m)!=EOF)
{
sum=0;
while(m--)
{
sum+=n;
n=sqrt(n);
}
printf("%.2lf\n",sum);
}
return 0;
}


方式二:
#include <stdio.h>
#include <math.h>
int main ()
{
double i,n,m,sum;
while (scanf("%lf %lf",&n,&m)!=EOF)
{
sum=n;
for (i=1;i<m;i++)
{
n=sqrt(n);
sum+= n;
}
printf("%.2lf\n",sum);
}
}


其实两种方法的本质是一样的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: