HDOJ2009
来源:互联网 发布:申请网络音乐人 编辑:程序博客网 时间:2024/05/27 03:25
1.数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
2.想好解题思路,在m个数之内将n反复开方然后把计算好的值相加。
3.开始写代码获取输入的内容:
n = cin.nextInt();// 获取输入的第一个数据定义为nm = cin.nextInt(); // 获取输入的第一个数据定义为m4.开始计算部分,判断计算之前先定义两个自由的变量用来存储计算的数据:
double sum = 0;// 定义一个用来存储最终输出内容的值double j = n;// 定义一个用来转换被开方的值(可以简化代码之后省略)然后开始循环
for (int i = 0; i < m - 1; i++) {// 循环计算sum += Math.sqrt(j);// 在循环里反复将j开方 (j初始值为n)并传递给sum j = Math.sqrt(j);// 然后将开方之后的值给j}
在循环里面要注意 j = Math.sqrt(j); 的作用,把每一次开方之后的数传递给下一次循环,比如第一次是81,那第二次就成了9,第三次成了3,;
AC代码;
import java.text.DecimalFormat;import java.util.Scanner;public class index11 {public static void main(String[] args) {Scanner cin = new Scanner(System.in);int n, m;while (cin.hasNext()) { n = cin.nextInt();// 获取输入的第一个数据定义为nm = cin.nextInt(); // 获取输入的第一个数据定义为mdouble sum = 0;// 定义一个用来存储最终输出内容的值double j = n;// 定义一个用来转换被开方的值(可以简化代码之后省略)for (int i = 0; i < m - 1; i++) {// 循环计算sum += Math.sqrt(j);// 在循环里反复将j开方 (j初始值为n)并传递给sum j = Math.sqrt(j);// 然后将开方之后的值给j}DecimalFormat df = new DecimalFormat("#.00"); <span style="white-space:pre"></span> <span style="white-space:pre"></span>// 保留两位小数打印System.out.println(df.format(sum + n));}}}
0 0
- HDOJ2009
- hdoj2009
- HDOJ2009
- HDOJ2009(预处理)
- hdoj2009解题报告
- hdoj2008/hdoj2009/hdoj2010/hdoj2011/hdoj2012
- Hdoj2009求数列的和
- HDOJ2009 求数列的和
- HDOJ2009暑期集训公开赛(6)
- HDOJ2009暑期集训内部赛(5)
- hdoj2009 (java)求数列的和
- HDOJ2009暑期集训公开赛(1)-BAPC2008
- HDOJ2009暑期集训公开赛(3)-ANARC2008
- HDOJ2009暑期集训内部赛(2)-Asia Regional Contest Aizu 2008
- HDOJ2009暑期集训公开赛(7)-2008 Rocky Mountain Regional
- 最短路径算法汇总
- 首日谈
- 世界谁会倾听你
- Intellij下创建Springmvc webapp(代码)
- Leetcode-106. Construct Binary Tree from Inorder and Postorder Traversal
- HDOJ2009
- mysql-表、ER图、索引与视图的基础操作
- 面向对象_猫狗案例加入跳高功能分析
- Redis之(五)持久化
- python取IP C段
- 杭电 2074 叠筐【类空心三角形】【简单字符串】【考前再来遍】
- Xcode---代码行数统计方法
- Linux调试工具
- Ubuntu环境下GitHub安装与使用