蓝桥杯入门训练

一、Fibonacci数列【注意:此题的做法就是禁止直接算出和再进行取余,这样会造成运行超时】

问题描述

  Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

  当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

输入格式

  输入包含一个整数n。

输出格式

  输出一行,包含一个整数,表示Fn除以10007的余数。

  说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

样例输入

  10

样例输出

  55

样例输入

  22

样例输出

  7704

数据规模与约定

  1 <= n <= 1,000,000。

 1 import java.util.Scanner;
 2
 3 public class Main {
 4     public static void main(String[] args) {
 5         // TODO Auto-generated method stub
 6         Scanner mm = new Scanner(System.in);
 7         int n = mm.nextInt();
 8         int[] aa = new int[1000000];
 9         aa[1] = aa[2] = 1;
10
11         for (int i = 3; i <= n; i++)
12             aa[i] = (aa[i - 1] + aa[i - 2]) % 10007;
13
14         System.out.println(aa[n]);
15     }
16 }

二、圆的面积【此题如果知道圆周率的表示以及小数位数的保留即可得出结果,没有技术难度】

问题描述

  给定圆的半径r,求圆的面积。

输入格式

  输入包含一个整数r,表示圆的半径。

输出格式

  输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。

  说明:在本题中,输入是一个整数,但是输出是一个实数。

  对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。

  实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。

样例输入

  4

样例输出

  50.2654825

数据规模与约定

  1 <= r <= 10000。

提示

  本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。

 1 import java.util.Scanner;
 2
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner mm = new Scanner(System.in);
 6         int n = mm.nextInt();
 7         double product = Math.PI * n * n;
 8         System.out.println(new java.text.DecimalFormat("0.0000000").format(
 9                 product));
10     }
11 }

三、序列求和【为了避免运行超时,在这就不能使用递归或者循环来进行计算了】

问题描述

  求1+2+3+...+n的值。

输入格式

  输入包括一个整数n。

输出格式

  输出一行,包括一个整数,表示1+2+3+...+n的值。

样例输入

  4

样例输出

  10

样例输入

  100

  说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。

  一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低。

样例输出

  5050

数据规模与约定

  1 <= n <= 1,000,000,000。

  说明:请注意这里的数据规模。

  本题直接的想法是直接使用一个循环来累加,然而,当数据规模很大时,这种“暴力”的方法往往会导致超时。此时你需要想想其他方法。你可以试一试,如果使用1000000000作为你的程序的输入,你的程序是不是能在规定的上面规定的时限内运行出来。

  本题另一个要值得注意的地方是答案的大小不在你的语言默认的整型(int)范围内,如果使用整型来保存结果,会导致结果错误。

  如果你使用C++或C语言而且准备使用printf输出结果,则你的格式字符串应该写成%I64d以输出long long类型的整数。

 1 import java.util.Scanner;
 2
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner mm = new Scanner(System.in);
 6         long n = mm.nextInt();
 7         long sum= (n+1)*n/2;
 8         System.out.println(sum);
 9     }
10
11 }

四、A+B问题【略】

时间: 2024-10-09 15:46:01

蓝桥杯入门训练的相关文章

蓝桥杯 入门训练 Fibonacci数列(Java)

@Author : qingdujun 入门训练 Fibonacci数列  : http://lx.lanqiao.org/problem.page?gpid=T4 import java.util.Scanner; /** * 蓝桥杯: 入门训练 Fibonacci数列 * @author qingdujun * */ public class Main { public static void main(String[] args) { int f1 = 1; int f2 = 1; int

蓝桥杯入门训练——Fibonacci数列

果然是好长时间没有刷题,脑袋都秀逗了.所以说刷题是日常必需品,不能断啊, 因为蓝桥杯还有一个月左右时间,所以又开始了我的刷题道路,但是自从到了4208之后就没太怎么刷题了,也就是说有一个学期没有刷题了. 真的是有些简单的题在很多简单的地方又错了. 从现在开始要经常刷题,摆在你面前的就是刷刷刷!!! 蓝桥网练习系统入门训练 就没有让我省心. 难道是智商又退了吗. 这道题我硬是交了四五遍啊!!! 第一遍 超时  直接计算出了f(n)然后再求的模10007, 原来是我把题目想的太简单了! #inclu

蓝桥杯-- 入门训练 圆的面积

入门训练 圆的面积 时间限制:1.0s   内存限制:256.0MB 问题描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径. 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输出是一个实数. 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误. 实数输出的问题如果没有特别说明,舍入都是按四

蓝桥杯-入门训练 序列求和

入门训练 序列求和 时间限制:1.0s   内存限制:256.0MB 问题描述 求1+2+3+...+n的值. 输入格式 输入包括一个整数n. 输出格式 输出一行,包括一个整数,表示1+2+3+...+n的值. 样例输入 4 样例输出 10 样例输入 100 说明:有一些试题会给出多组样例输入输出以帮助你更好的做题. 一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低. 样例输出 5050 数据规模与约定 1

蓝桥杯-入门训练-A+B问题

入门训练 A+B问题 时间限制:1.0s   内存限制:256.0MB 问题描述 输入A.B,输出A+B. 说明:在"问题描述"这部分,会给出试题的意思,以及所要求的目标. 输入格式 输入的第一行包括两个整数,由空格分隔,分别表示A.B. 说明:"输入格式"是描述在测试你的程序时,所给的输入一定满足的格式. 做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查.多余的格式检查可能会适得其反,使用你的程序错误. 在测试的时候,系统会自

蓝桥杯-入门训练 :Fibonacci数列

问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1.当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n. 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数. 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单. 样例输入 10 样例输出 55 样例输入

蓝桥杯 入门训练 Fibonacci数列

问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n. 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数. 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单. 样例输入 10 样例输出 55 样例输

算法笔记1——蓝桥杯-入门训练 Fibonacci数列

1.问题 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n. 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数. 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单. 样例输入 10 样例输出 5

蓝桥杯-入门训练

问题描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径. 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输出是一个实数. 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误. 实数输出的问题如果没有特别说明,舍入都是按四舍五入进行. 样例输入 4 样例输出 50.2654825 数据规模与