hdu_problem_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
*
*
*Author
*lcy
*
*
*Source
*C语言程序设计练习(二)
*
*
*Recommend
*JGShining
*
*/
#include<iostream>
using namespace std;
double sqrt(double num) {
 double temp;
 for (temp = 0; temp*temp <= num; temp += 1);
 temp -= 1;
 for (int i = 0; i < 5; i++) {
  temp = (temp + num / temp) / 2;
 }
 return temp;
}
int main() {
 double n, m;
 double sum = 0;
 while (cin >> n >> m) {
  sum = n;
  for (int i = 0; i < m - 1; i++) {
   sum += sqrt(n);
   n = sqrt(n);
  }
  printf("%.2f\n",sum);
 }
 system("pause");
 return 0;
}

猜你喜欢

转载自blog.csdn.net/CoderMaximum/article/details/86167809