我的解决方案在输出中的测试用例 1234 12345 失败,它给出了输出 2 而不是正确的输出 8,尽管问题样本中的一些测试用例已经通过。请指出我的错误。谢谢你。
#include <bits/stdc++.h>
using namespace std;
int calc_fib(long long n) {
long long int m, o = 0, p = 1, q = 1;
m = (n+2) % 60;
for(long long int i = 2 ; i <= m ; i++) {
q = o + p;
o = p;
p = q;
}
//if m=0 then q should be 0 and not 1 so base case
if(m == 0) q = 0;
return q;
}
int main() {
long long a, b;
cin>>a>>b;
int result1 = calc_fib(b);
int result2 = calc_fib(a-1);
int final_result = ((result1%10) - (result2%10) + 10) % 10;
cout<<final_result;
return 0;
}
