`
Simone_chou
  • 浏览: 196298 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Number Sequence(数学)

    博客分类:
  • HDOJ
 
阅读更多

Number Sequence

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 96275    Accepted Submission(s): 23088


Problem Description
A number sequence is defined as follows:

f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.

Given A, B, and n, you are to calculate the value of f(n).
 

 

Input
The input consists of multiple test cases. Each test case contains 3 integers A, B and n on a single line (1 <= A, B <= 1000, 1 <= n <= 100,000,000). Three zeros signal the end of input and this test case is not to be processed.
 

 

Output
For each test case, print the value of f(n) on a single line.
 

 

Sample Input
1 1 3
1 2 10
0 0 0
 

 

Sample Output
2
5
 

 

Author

 

CHEN, Shunbao
 

       题意:

       给出 A (1 ~ 1000),B (1 ~ 1000),N (1 ~ 10 ^ 8),F [ 1 ] = F [ 2 ] = 1,后 F [ N ] =(A * F [ N - 1 ] + B * F [ N - 2 ] )% 7。输出 F [ N ]。

 

       思路:

       数学。结果 % 7,说明 f 最多也只可能是 0 ~ 6 中的某一个数,模拟几组数据即可发现会有循环节。算出循环节后 F [ N % MOD ] 即是答案。循环节最多也只可能是 7 X 7 = 49 这么多,所以数组开 55 来保存循环节也就够了。

 

       AC:

#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

int num[55];

int main () {
        int a, b, n;

        while (~scanf("%d%d%d", &a, &b, &n) && (a + b + n)) {
                int mod;
                num[1] = num[2] = 1;
                for (mod = 3; mod < 55; ++mod) {
                        num[mod] = (a * num[mod - 1] + b * num[mod - 2]) % 7;
                        if (num[mod] == 1 && num[mod - 1] == 1) {
                                mod -= 2;
                                break;
                        }
                }
                if (!(n % mod)) printf("%d\n",num[mod]);
                else printf("%d\n", num[n % mod]);
        }

        return 0;
}

 

 

分享到:
评论

相关推荐

    21张高中数学思维导图.docx

    10.高中数学知识点总览:高中数学知识点总览是指整个高中数学课程的所有知识点的总览,包括_number sequence、 algebra、 geometry、 trigonometry等多个分支。了解高中数学知识点总览可以帮助学生更好地理解和掌握...

    Computer Analysis of Number Sequences

    Computer Analysis of Number Sequences - H. Ibstedt 一本关于数值序列分析的书,需要一定的数学基础。

    ran_number2_RandomNumber_斐波那契_

    斐波那契数列(Fibonacci Sequence)是一个数学上的数列,定义如下:第一项是0,第二项是1,后续每一项都是前两项之和。用数学公式表示为:F(n) = F(n-1) + F(n-2),其中n大于1。这个数列在自然界、艺术和计算机科学...

    英语科技论文中的数学词汇

    ### 英语科技论文中的数学词汇 在撰写或阅读英语科技论文时,理解数学相关的专业词汇至关重要。本文将详细介绍与数运算、集合、代数式、方程和不等式、分数和小数、基本数学概念、数论、数列以及几何部分相关的数学...

    number-general:通用Rust数字类型,支持基本数学运算

    let sequence: Vec &lt; Number&gt; = serde_json :: from_str ( "[true, 2, 3.5, -4, [1.0, -0.5]]" ). unwrap (); let actual = sequence. into_iter (). product (); assert_eq! (actual, Number :: from (num :: ...

    高中数学词汇英文.doc

    【高中数学词汇英文】文档包含了高中数学中的基本概念和术语,涵盖了代数、根本数学概念、运算、代数式、方程、不等式、分数、小数、集合以及数列等多个方面。以下是对这些词汇的详细解释: 1. 代数(ALGEBRA): ...

    GRE数学词汇大汇总(全!!).pdf

    7. **数列**:"arithmetic progression(sequence)"是等差数列,"geometric progression(sequence)"是等比数列。 8. **其他概念**:"approximate"表示近似,"(anti)clockwise"指示顺时针或逆时针方向,基数是...

    acm课件2 简单数学题

    Problem B: Number Sequence是一个具有误导性的题目,可能需要参赛者深入分析序列的特性,避免陷入简单的思维陷阱。对于这种题目,通常需要观察数列的规律,通过逻辑推理或数学归纳法找到解题的关键。 综上所述,...

    数学相关英语词汇.doc

    4. **Numbers and the number system** - 数字和数系包括整数、小数、分数等,以及它们在数轴上的表示和相互关系。 5. **Place value, ordering and rounding** - 位值是指数字中每个数字的位置及其相对重要性,...

    英国IGCSE剑桥初中剑桥高中考试数学专业词汇中英文对照.docx

    【英国IGCSE剑桥初中剑桥高中考试数学专业词汇】涵盖了广泛的数学概念,以下是其中的一些关键知识点: 1. **代数**: - **加减乘除**:基础运算,对应英文为`add`, `subtract`, `multiply`, `divide`。 - **乘方...

    (lecture_02)简单数学题090223.ppt

    Problem B: Number Sequence是一道需要发现规律的题目。在ACM竞赛中,观察数据规模,寻找模式是解题的关键。对于这类问题,避免暴力枚举,尝试归纳总结,有时还需要用到数论知识。 总的来说,ACM竞赛中的数学题...

    数学名词中英文对照

    1. 基础数学:包括数字(Number)、算术(Arithmetic)、代数(Algebra)、几何(Geometry)等基本概念。比如,整数(Integer)、分数(Fraction)、变量(Variable)、方程(Equation)、点(Point)、线段...

    (lecture_02)简单数学题

    **序列问题(Number Sequence)**:在一些ACM竞赛题目中,可能会设置一些陷阱,使得初看简单的暴力方法不能解决。需要深入分析题目的条件和限制,寻找隐藏的规律,避免陷入错误的解决方案。\n\n在ACM竞赛中,理解...

    number of digit Fibonacci.Stellen.pdf

    1. 斐波那契数列(Fibonacci sequence)的定义: 斐波那契数列是一个整数序列,以0和1开始,之后的每一项都是前两项的和。数学上通常定义为: F(0) = 0, F(1) = 1 F(n) = F(n-1) + F(n-2) for n &gt; 1 斐波那契...

    Fibonacci number

    在数学领域中,斐波那契数列(Fibonacci sequence)是一种非常著名的数列,以其独特的性质和广泛的应用而闻名。斐波那契数列是这样定义的:每一项都是前两项的和,通常第一项和第二项分别设定为0和1或1和1。用数学...

    奇怪的数列奇怪的数列.doc

    #### 素数数列(Prime Number Sequence) 素数数列由所有的素数组成。素数是指除了1和它本身之外没有其他因数的自然数。例如: \[ P(n) = 2, 3, 5, 7, 11, 13, 17, 19, 23, ... \] **特点与应用:** - **数论的...

    离散数学双语专业词汇表set集合subset子集elementmember.pdf

    8. 有理数(Rational Number):是指可以被写成分数形式的数字。例如,1/2是一个有理数。 9. 空集(Empty Set):是指没有元素的集合。例如,{}是一个空集。 10. 文氏图(Venn Diagram):是指用图形表示集合关系...

    labview教程6

    Selector端口连接两个数(Number1和Number2),根据Selector的值(CASE0或CASE1),VI会选择执行加法(Add)或减法(Subtract)操作。在这里,我们可能会使用数字型Text Ring控制器作为Selector,让用户选择加法或...

    数学中英文词汇对照表.doc

    30. **数列(sequence of number)**:按特定顺序排列的一系列数,可以是有穷的,也可以是无穷的。 31. **通项公式(the formula of general term)**:描述数列中任意项的数学表达式。 32. **等差数列...

Global site tag (gtag.js) - Google Analytics