fork(1) download
  1. #include<iostream>
  2. using namespace std;
  3. /*long int fibonacci(long int a,long int b,long int fibn, long int sum)
  4. {
  5. if(fibn == 0)
  6. sum += a;
  7. else if(fibn == 1)
  8. sum+= b;
  9. sum+=fibonacci(a,b,fibn-1,sum)+fibonacci(a,b,fibn-2,sum);
  10. return sum;
  11. }*/
  12.  
  13.  
  14.  
  15.  
  16.  
  17. int main()
  18. {
  19. int test;
  20. long int a,b,fibn,modl;
  21. static long int sum=0;
  22. long int arr[100000] = {NULL};
  23. cin >> test;
  24. while(test--)
  25. {
  26. sum = 0;
  27. cin >> a >> b >> fibn >> modl;
  28. //cout << fibonacci(a,b,fibn,sum)%modl<<endl;
  29. arr[0] = a;
  30. arr[1] = b;
  31. for(int i=2;i<=100000;i++)
  32. arr[i] = arr[i-1]+arr[i-2];
  33. for(int i=0;i<=fibn-1;i++)
  34. {sum += arr[i];
  35. sum = sum %modl;
  36. }
  37.  
  38. //sum = sum % modl;
  39.  
  40. cout << sum << endl;
  41. }
  42. return 0;
  43. }
Success #stdin #stdout 0s 4436KB
stdin
2
2 2 10 21
1 3 10 21
stdout
13
4