题解
2024-09-30 20:26:32
发布于:上海
17阅读
0回复
0点赞
思路:
数学问题。
如果x无法被k整除,那么很简单,直接迈k那只脚到达终点,1步最少。
如果x能够被k整除,说明不能直接到达,那么先迈1步,由于x为k的倍数,那么只要k>1,则(x-1)不是k的倍数,接下来迈(x-1)那条腿即可,2步最少。
代码:
#include<iostream>
#define int long long
using namespace std;
int t,n,k;
signed main(){
cin>>t;
while(t--){
cin>>n>>k;
if(k==1)cout<<-1<<endl;
else if(n%k==0)cout<<2<<endl;
else cout<<1<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个