题意翻译
题面 DM小朋友想要上一个有 nn 级台阶的楼梯。他每一步可以上 11 或 22 级台阶。假设他走上这个台阶一共用了 xx 步。现在DM想知道 xx 是否可能为 mm 的倍数。如果可能,输出 xx 的最小值。如果不可能,输出 -1−1 输入 两个正整数 n,m\ \ (n<=10000,m<=10)n,m (n<=10000,m<=10) 输出 按要求输出 xx 或 -1−1
代码如下
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,i,t,flag=0;
cin>>n>>m;
if(n%2==0)
t=n/2;
else
t=n/2+1;
for(i=t;i<=n;i++)
{
if(i%m==0)
{
cout<<i<<endl;
flag=1;
break;
}
}
if(flag==0)
cout<<"-1"<<endl;
return 0;
}
因为它一次能上一个或者两个台阶,然后先判断这个数时奇数还是偶数,如果是偶数的话,则走的最少步数一定是n/2,它还让你模m等于0,如果当时模不着,就换成两个一步就行,如果是奇数,那就加上一步