传送门
题意:第m个满足末尾连续k个0的数是斐波那契的第几项。
思路:先通过打表输出找到规律,然后根据规律解题。运行完打表代码之后会发现1,3,4,5,6,7,……都是到第9个数增量是有一个变化,而2是到第4个数增量有了变化。附大表代码
#include <iostream>
#include <cmath>
#include <cstdio>
#define ll long long
using namespace std;
int pp(int a,int b)
{int ans=1;while(b){if(b&1)ans=ans*a;a=a*a;b>>=1;}return ans;
}
int main()
{int t;cin>>t;while(t--){ll k,m;cin>>k>>m;if(k==1){cout<<((m-1)/9)*15+m*15<<endl;}else if(k==2){cout<<150*m+((m-1)/4)*150<<endl;}else{cout<<((m-1)/9)*75*pp(10,k-2)+75*pp(10,k-2)*m<<endl;}}return 0;
}
// 打表
/*
int main()
{int n;while(cin>>n){int ans;ans=pp(n);int p=pp(n+1);int f1=1;int f2=1;int tot=0;for(int i=3;i<=100000000;i++){int tmp=(f1+f2)%p;f2=f1;f1=tmp;if(tmp%ans==0&&tmp!=0){cout<<n<<"个0 "<<++tot<<" "<<i<<endl;}if(tot==30){break;}}}return 0;
}*/