360 求数列的和

求数列的和


编程题须知 参考 答案

Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Problem Description:

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

输入

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

输出

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


样例输入

81 4

2 2



int main(int argc,const char* []){
int m;
    double n,sum;
while(cin>>n>>m){
//if(n>10000 || m>1000) return -1;
        //double sum=0;
      for (int i = 0; i < m; ++i)
{
              sum +=n;
              n = sqrt(n);
}
cout<<sum<<endl;

}

}

说明:
所有测试数据正确率为 30%!
可以尝试再次完善代码,并调试,争取全部AC通过
加油!



总是30%,请大神指正
另外输入的数字大于给定的,一般都怎么判断,像上面屏蔽的 return -1;  这样写可以吗
全部评论
输出结果保留两位小数
点赞
送花
回复 分享
发布于 2016-03-28 17:46
编程试题:求数列的和  使用语言:JAVA 参考正解代码如下: import java.util.*; class Main{     public static void main(String args[]){         int m;         double sum,n;         Scanner sc = new Scanner(System.in);         while(sc.hasNext()){             n=sc.nextInt();             m=sc.nextInt();             sum=0;             for(int i=0;i<m;i++){                 sum=sum+n;                 n=Math.sqrt(n);             }             System.out.printf("%.2f",sum);             System.out.println();         }     } } 使用语言:C++ 参考正解代码如下: #include <math.h> #include <stdio.h> int main() {     int n;     double x, s;     while (~scanf("%lf%d", &x, &n))     {         for(s = 0.0; n--; x = sqrt(x))             s += x;         printf("%.2lf\n", s);     }   return 0; } 使用语言:C# 参考正解代码如下: using System; namespace myApp {     class Program     {         public static void Main()         {             string line;             string[] p;             int m, n;             double nn;             while (!string.IsNullOrEmpty(line = Console.ReadLine()))             {                 p = line.Split(' ');                 n = int.Parse(p[0]);                 m = int.Parse(p[1]);                 double sum = 0;                 nn = n;                 for (int i = 0; i < m; i++)                 {                     sum = sum + nn;                     nn = Math.Sqrt(nn);                 }                 Console.WriteLine(string.Format("{0:f}", sum));             }         }     } } 使用语言:JavaScript 参考正解代码如下: var m; var sum,n; var sc while(sc = readline()){ var arr = sc.split(' ');   n=parseInt(arr[0]);   m=parseInt(arr[1]);   sum=0;   for(var i=0;i<m;i++){       sum=sum+n;       n=Math.sqrt(n);   }   print(sum.toFixed(2)); }
点赞
送花
回复 分享
发布于 2016-03-29 10:18
国泰君安
校招火热招聘中
官网直投
谢谢谢谢了
点赞
送花
回复 分享
发布于 2016-03-28 19:45
这是哪里的题?
点赞
送花
回复 分享
发布于 2016-03-29 09:33

相关推荐

点赞 3 评论
分享
牛客网
牛客企业服务