求f(n)除于2的k次方的余数
nclude<iostream>
#include<cmath>
using namespace std;
long fib(int n){
long f1 = 1, f2 = 0, f3, i;
if (n <2)
return 0;
for (f3 = f2 + f1, i = 2; i < n; ++i) {
f1 = f2;
f2 = f3;
f3 = f1 + f2;
}
return f3;
}
int main(){
int p[10],k[10];
for(int i=1;i<10;i++){
cin>>p[i]>>k[i];
if(p[i]==0&&k[i]==0)break;
}
for(i=1;i<10;i++){
if(p[i]==0&&k[i]==0)break;
cout<<fib(p[i])%((int)pow(2,k[i]))<<endl;
}
}