hdoj-1005-Number Sequence

There is a loop in the calculation result, every 48 rounds

 1 #include <iostream> 
 2 #include <algorithm>
 3 using namespace std;
 4 int arr[50];
 5 int main()
 6 {
 7     int a, b, n;
 8     while (cin>>a>>b>>n, a+b+n) {
 9         arr[1] = 1;
10         arr[2] = 1;
11         for (int i=3; i<=48; i++) {
12             arr[i] = (a*arr[i-1] + b*arr[i-2]) % 7;
13         }
14         cout<<arr[n%48]<<endl;
15     }
16     return 0;
17 }

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325251452&siteId=291194637