HDUOJ 1005 Number Sequence

直接用递归模拟会超内存,考虑到对7取余,A,B为定值,所以可以进行打表

 1 #include <iostream>
 2 #include <stdio.h>
 3 using namespace std;
 4 int main()
 5 {
 6     int a, b, n, i, t;
 7     int f[50];
 8     f[1] = f[2] = 1;
 9     while((3 == scanf("%d%d%d", &a, &b, &n)), a || b || n)
10     {
11         for(i = 3; i <= 49; ++i)
12         {
13             f[i] = (a * f[i-1] + b * f[i-2]) % 7;
14             if(1 == f[i] && 1 == f[i-1]) break;       //cycle found
15         }
16         t = i - 2;         //cycle
17         f[0] = f[t];       //将周期的最后一个放到0位置。实现f(n%t)
18         printf("%d\n", f[n%t]);
19     }
20     return 0;
21 }
时间: 2024-12-30 04:20:36

HDUOJ 1005 Number Sequence的相关文章

HDU 1005 Number Sequence (数学规律)

Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 104190    Accepted Submission(s): 25232 Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A

HDU 1005 Number Sequence(数论)

HDU 1005 Number Sequence(数论) 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

HDU 1005 Number Sequence【多解,暴力打表,鸽巢原理】

Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 175657    Accepted Submission(s): 43409 Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A

1005 Number Sequence

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 co

HDU 1005 Number Sequence 数学

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 cont

HDU ACM 1005 Number Sequence

Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 119732    Accepted Submission(s): 29072 Problem Description A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A

杭电ACM 1005 Number Sequence

</p> Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 38553    Accepted Submission(s): 8150 Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n)

HDU 1005 Number Sequence(数列)

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) [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

杭大 1005 Number Sequence

Number Sequence 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. E