蓝桥杯-----入门训练(序列求和,圆的面积,Fibonacci数列)JAVA代码
来源:互联网 发布:oracle数据库错误日志 编辑:程序博客网 时间:2024/06/10 22:18
一、序列求和
问题描述:求1+2+3+...+n的值。这道题对有一点算法基础的人来说都很容易,就是数学规律的代码呈现。在数学中有自然数数列的求和可以通过:首项加尾项乘以项数除以2来得到。而这种思想完全可以通过代码进行实现。下面给出代码:
import java.util.Scanner;public class 序列求和 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);long n;n = sc.nextInt();long total = 0;total = ((1+n)*n)/2;System.out.println(total);}}n值为序列的最大值,因为n值得范围超出了int类型的范围所以采用long类型进行定义。然后模拟数学公式得出结果。
二、圆的面积
问题描述:给定圆的半径r,求圆的面积。与上一题的解决思想一样,将数学公式用代码进行呈现即可。下面给出代码:
import java.math.BigDecimal;import java.util.Scanner;public class 圆的面积 {public static void main(String[] args) {double PI = 3.14159265358979323;int r;Scanner sc = new Scanner(System.in);r = sc.nextInt();System.out.println(new BigDecimal(PI*r*r).setScale(7, BigDecimal.ROUND_HALF_UP)); }}由于题目要求的精度比较高,所以引用高精度类BigDecimal进行圆面积的计算,并且小数点后面采用四舍五入进行取值,有关这个类的使用请阅读我的另一篇博客"Java高精度数值运算方法,小数点后保留位置"进行学习。
三、Fibonacci数列
问题描述:Fibonacci数列的递推公式为:Fn = Fn-1 + Fn-2,其中F1 =F2 =1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。这题如果对递归理解的很熟悉的话,可以很明显的感觉到题目就在给出递归的相应条件,公式就是递归的部分,而F1 =F2 =1就是递归结束的标志。下面给出代码进行分析:
import java.util.Scanner;public class Fibonacci数列 {public static void main(String[] args) {int f[] = new int[1000000];f[1]=f[2]=1;for(int i = 3;i<1000000;i++ ){f[i]=(f[i-1]+f[i-2])%10007;}Scanner sc = new Scanner(System.in);int n;n = sc.nextInt();System.out.println(f[n]);}}和公式中给出的运算方式一样,而结束的条件就是当递归走到F1 = F2 =1时,程序开始回推,进行结果的运算。
阅读全文
0 0
- 蓝桥杯-----入门训练(序列求和,圆的面积,Fibonacci数列)JAVA代码
- 入门训练 Fibonacci数列 圆的面积 序列求和 A+B问题
- 蓝桥杯题——BEGIN-2 序列求和 BEGIN-3 圆的面积 BEGIN-4 Fibonacci数列 C语言+Java
- 蓝桥杯(java)入门训练 序列求和
- 蓝桥杯 入门训练 Fibonacci数列 JAVA
- 蓝桥杯(Java) 入门训练 Fibonacci数列
- 蓝桥杯 - 入门训练 - Fibonacci数列 - java
- 蓝桥杯 入门训练 Fibonacci数列 Java
- 蓝桥杯 入门训练 Fibonacci数列 JAVA
- 蓝桥杯 入门训练 Fibonacci数列(1)
- 蓝桥杯【入门训练】 Fibonacci数列
- 蓝桥杯入门训练 Fibonacci数列
- 蓝桥杯 入门训练 Fibonacci数列
- 蓝桥杯-入门训练-Fibonacci数列
- 蓝桥杯 入门训练 Fibonacci数列
- 蓝桥杯入门训练 Fibonacci数列
- 蓝桥杯入门训练 Fibonacci数列
- 蓝桥杯-入门训练-Fibonacci数列
- 【Python编程:从入门到实践】第八章:函数
- 系统总线(一)
- centos 7关闭防火墙
- 爬虫小知识点
- C 练习实例1-10
- 蓝桥杯-----入门训练(序列求和,圆的面积,Fibonacci数列)JAVA代码
- 欢迎使用CSDN-markdown编辑器
- 融云群组server相关系统消息
- eslint
- linux下使用hiredis异步API实现sub/pub消息订阅和发布的功能 标签: hiredishiredis异步APIhiredis事件处理redis消息订阅发布redis c接口 2016-
- KMP算法
- 欢迎使用CSDN-markdown编辑器
- 阿里云centos环境之linux上Jenkins安装<六补>rpm命令安装jenkins及一些常用命令学习
- 分布式数据库(2)——事务