OR66. 求数列的和
描述
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。输入描述
输入数据有多组,每组占一行,由两个整数n(n < 10000)和m(m < 1000)组成,n和m的含义如前所述。输出描述
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。示例1
输入:
81 4 2 2
输出:
94.73 3.41
C 解法, 执行用时: 1ms, 内存消耗: 360KB, 提交时间: 2018-09-19
#include<stdio.h> #include<math.h> int main() { int n,m; while (scanf("%d%d",&n,&m)!=EOF){ double sum=0,a=(double)n; for(int i=0;i<m;i++) sum+=a,a=sqrt(a); printf("%.2lf\n",sum);} }
C++ 解法, 执行用时: 1ms, 内存消耗: 368KB, 提交时间: 2017-09-05
#include<iostream> #include"math.h" #include <iomanip> using namespace std; int main(){ int m; double n,sum=0; // int qiuhe(int i,int n); cin>>n>>m; //a=n; for(int i=0;i<m;i++){ sum+=n; n=sqrt(n); } cout<<fixed<< setprecision(2)<<sum; return 0; }