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).
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; }
相关推荐
10.高中数学知识点总览:高中数学知识点总览是指整个高中数学课程的所有知识点的总览,包括_number sequence、 algebra、 geometry、 trigonometry等多个分支。了解高中数学知识点总览可以帮助学生更好地理解和掌握...
Computer Analysis of Number Sequences - H. Ibstedt 一本关于数值序列分析的书,需要一定的数学基础。
斐波那契数列(Fibonacci Sequence)是一个数学上的数列,定义如下:第一项是0,第二项是1,后续每一项都是前两项之和。用数学公式表示为:F(n) = F(n-1) + F(n-2),其中n大于1。这个数列在自然界、艺术和计算机科学...
### 英语科技论文中的数学词汇 在撰写或阅读英语科技论文时,理解数学相关的专业词汇至关重要。本文将详细介绍与数运算、集合、代数式、方程和不等式、分数和小数、基本数学概念、数论、数列以及几何部分相关的数学...
let sequence: Vec < Number> = 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 :: ...
【高中数学词汇英文】文档包含了高中数学中的基本概念和术语,涵盖了代数、根本数学概念、运算、代数式、方程、不等式、分数、小数、集合以及数列等多个方面。以下是对这些词汇的详细解释: 1. 代数(ALGEBRA): ...
7. **数列**:"arithmetic progression(sequence)"是等差数列,"geometric progression(sequence)"是等比数列。 8. **其他概念**:"approximate"表示近似,"(anti)clockwise"指示顺时针或逆时针方向,基数是...
Problem B: Number Sequence是一个具有误导性的题目,可能需要参赛者深入分析序列的特性,避免陷入简单的思维陷阱。对于这种题目,通常需要观察数列的规律,通过逻辑推理或数学归纳法找到解题的关键。 综上所述,...
4. **Numbers and the number system** - 数字和数系包括整数、小数、分数等,以及它们在数轴上的表示和相互关系。 5. **Place value, ordering and rounding** - 位值是指数字中每个数字的位置及其相对重要性,...
【英国IGCSE剑桥初中剑桥高中考试数学专业词汇】涵盖了广泛的数学概念,以下是其中的一些关键知识点: 1. **代数**: - **加减乘除**:基础运算,对应英文为`add`, `subtract`, `multiply`, `divide`。 - **乘方...
Problem B: Number Sequence是一道需要发现规律的题目。在ACM竞赛中,观察数据规模,寻找模式是解题的关键。对于这类问题,避免暴力枚举,尝试归纳总结,有时还需要用到数论知识。 总的来说,ACM竞赛中的数学题...
1. 基础数学:包括数字(Number)、算术(Arithmetic)、代数(Algebra)、几何(Geometry)等基本概念。比如,整数(Integer)、分数(Fraction)、变量(Variable)、方程(Equation)、点(Point)、线段...
**序列问题(Number Sequence)**:在一些ACM竞赛题目中,可能会设置一些陷阱,使得初看简单的暴力方法不能解决。需要深入分析题目的条件和限制,寻找隐藏的规律,避免陷入错误的解决方案。\n\n在ACM竞赛中,理解...
1. 斐波那契数列(Fibonacci sequence)的定义: 斐波那契数列是一个整数序列,以0和1开始,之后的每一项都是前两项的和。数学上通常定义为: F(0) = 0, F(1) = 1 F(n) = F(n-1) + F(n-2) for n > 1 斐波那契...
在数学领域中,斐波那契数列(Fibonacci sequence)是一种非常著名的数列,以其独特的性质和广泛的应用而闻名。斐波那契数列是这样定义的:每一项都是前两项的和,通常第一项和第二项分别设定为0和1或1和1。用数学...
#### 素数数列(Prime Number Sequence) 素数数列由所有的素数组成。素数是指除了1和它本身之外没有其他因数的自然数。例如: \[ P(n) = 2, 3, 5, 7, 11, 13, 17, 19, 23, ... \] **特点与应用:** - **数论的...
8. 有理数(Rational Number):是指可以被写成分数形式的数字。例如,1/2是一个有理数。 9. 空集(Empty Set):是指没有元素的集合。例如,{}是一个空集。 10. 文氏图(Venn Diagram):是指用图形表示集合关系...
Selector端口连接两个数(Number1和Number2),根据Selector的值(CASE0或CASE1),VI会选择执行加法(Add)或减法(Subtract)操作。在这里,我们可能会使用数字型Text Ring控制器作为Selector,让用户选择加法或...
30. **数列(sequence of number)**:按特定顺序排列的一系列数,可以是有穷的,也可以是无穷的。 31. **通项公式(the formula of general term)**:描述数列中任意项的数学表达式。 32. **等差数列...