蓝桥杯练习系统题目汇总-精品资料-精品资料-精品资料-精品资料-精品资料-精品资料.pdfVIP

  • 3
  • 0
  • 约8.23万字
  • 约 60页
  • 2021-02-08 发布于湖北
  • 举报

蓝桥杯练习系统题目汇总-精品资料-精品资料-精品资料-精品资料-精品资料-精品资料.pdf

蓝桥杯练习系统题目汇总: 入门训练 1. Fibonacci 数列 问题描述 n n-1 n-2 1 2 Fibonacci 数列的递推公式为: F =F +F ,其中 F =F =1。 n n 当 n 比较大时, F 也非常大,现在我们想知道, F 除以 10007 的余数是多少。 输入格式 输入包含一个整数 n。 输出格式 n 输出一行,包含一个整数,表示 F 除以 10007 的余数。 说明:在本题中,答案是要求 Fn 除以 10007 的余数,因此我们只要能算出这个余数即 可,而不需要先计算出 F 的准确值,再将计算的结果除以 10007 取余数,直接计算余数往 n 往比先算出原数再取余简单。 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 = n = 1,000,000 。 参考代码: c++ 1. #include stdlib.h 2. #include stdio.h 3. #define MOD 10007 4. #define MAXN 1000001 5. int n, i, F[MAXN]; 6. int main() 7. { 8. scanf( %d , n); 9. F[ 1] = 1; 10. F[ 2] = 1; 11. for (i = 3; i = n; ++i) 12. F[i] = (F[i- 1] + F[i- 2]) % MOD; 13. printf( %d\n , F[n]); 14. return 0; 15. } java : 1. import java.util.Scanner; 2. public class Main{ 3. public static void main(String[] args) { 4. Scanner scanner = new Scanner(System.in) ; 5. int num = scanner.nextInt() ; 6. int [] a = new int [num+2] ; 7. a[1] = a[2] = 1; 8. if (num == 1) { 9. a[num] = 1 ; 10. } else if (num == 2) { 11. a[num] = 1 ; 12. } else { 13. for ( int i = 3; i = num; i++) { 14. a[i] = (a[i - 1] + a[i - 2]) % 10007 ; 15. } 16. }

文档评论(0)

1亿VIP精品文档

相关文档