HDOJ-2009 求数列的和

Problem Description

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

Input

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

Output

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

Sample Input

81 4

2 2

Sample Output

94.73

3.41

代码实现:

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int i;
 6     double n,m,s;
 7     while(scanf("%lf%lf",&n,&m)!=EOF)
 8     {
 9         s=0;
10         for(i=1;i<=m;i++)
11         {
12             s=s+n;
13             n=sqrt(n);
14         }
15         printf("%.2lf\n",s);
16     }
17
18     return 0;
19 }

1.题目为理清,开始总是用s=s+sqrt(s);这样的错误语句。实际上忽略了“以后各项为前一项的平方根”这样的事实。

时间: 2024-08-29 20:20:52

HDOJ-2009 求数列的和的相关文章

hdu 2009 求数列的和

求数列的和 思路:利用sqrt函数计算根号,再依次累计相加 代码: #include<iostream> #include<math.h> using namespace std; int main() { double m, n; double num, sum; while (cin >> m >> n) { sum = 0; num = m; int i; for (i = 0; i < n; i++) { sum += num; num = s

hdu 2009 求数列和

无聊,刷水题练下java import java.util.*; public class Main { public static void main(String[] args){ Scanner cin=new Scanner(System.in); double n; int m; while(cin.hasNext()) { n=cin.nextDouble(); m=cin.nextInt(); double sum=n; for(int i=0;i<m-1;i++) { sum+=

【机智题?】求数列中众数

求数列中众数 & 唯一出现为奇次数 前言: 我们的生活中经常有很多令人叫绝的优秀算法.他们往往既不冗长,也不笨拙. 蒟蒻的我能写暴力!虽然不是说不可以这么写算法,只是毕竟是算法竞赛,这样搭建的程序终究还是经不起考验的. 就如大算法(大?),让小算法组合成大算法,虽然有时不太容易能看出整体的效率,那我们为何不让每部分最优呢.(最优子结构?) 时间,空间, 我们不仅要能互换代价,还要让它们同时缩小! 正文: (-  . -) 嗯... 那个,啥,以上的前言等于啥都没说.不用管我就是了. 我们直接看题

【HackerRank】Insertion Sort Advanced Analysis(归并排序求数列逆序数对)

Insertion Sort is a simple sorting technique which was covered in previous challenges. Sometimes, arrays may be too large for us to wait around for insertion sort to finish. Is there some other way we can calculate the number of times Insertion Sort

求数列的和

Problem Description 数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和. Input 输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述. Output 对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数. Sample Input 81 4 2 2 Sample Output 94.73 3.41 code: #include<stdio.h>#inclu

练习题6:求数列的和

题目描述 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和. 输入描述: 输入数据有多组,每组占一行,由两个整数n(n < 10000)和m(m < 1000)组成,n和m的含义如前所述. 输出描述: 对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数. Python解法: # -*- coding:utf-8 -*-"""求数列的和"""import sysimport math def sqr

求数列的和 题解

数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和. Input输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述. Output对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数.Sample Input 81 4 2 2 Sample Output 94.73 3.41 在此需要注意: 不满足条件的也需要换行处理: 原文地址:https://www.cnblogs.com/hrlsm

求数列通项公式的小众方法

前言 以下的这些求数列的通项公式的方法都比较小众,不是主流的高考考查方法,在此只是作以整理: 不动点法 山东的一位老师提供,不动点法说明:[百度] 若\(f(x)=x\),则称\(x\)为方程的不动点: 令\(x=\cfrac{1}{2}(x+\cfrac{1}{x})\),则\(x^2=1\),解得\(x=\pm 1\)是\(f(x)=\cfrac{1}{2}(x+\cfrac{1}{x})\)的两个不动点: 例1已知数列\(\{a_n\}\)中,\(a_1=2\),\(a_{n+1}=\cf

求数列前20项之和

有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13..求出这个数列前20项之和.function text4(){ var denominator; var molecule; var i= 0,k= 1,str=""; var str1="",str2="",sum=0; for(var j=1;j<=20;j++){ //分母 denominator=i+k; i=k; k=denominator; str+=deno