肥料掺了金坷垃,一袋能顶两袋撒!
先给出题人点32个赞!
看到这种输入一个数输出一个数的题目就想打表,但是发现\(k\)辣么大!
所以找规律咯!
不难发现,只有1和2的倍数是满足条件的。
所以题目等价于求\(2^{k-1} \bmod 123456789\)。
所以直接long long+ksm搞掉。
代码:
#include<cstdio>
#define ll long long
ll k;
ll pow_mod(ll x, ll y, ll z)
{
ll ans = 1;
while(y)
{
if(y & 1) ans = ans * x % z;
x = x * x % z;
y >>= 1;
}
return ans % z;
}
int main()
{
scanf("%lld", &k);
printf("%lld\n", pow_mod(2, k - 1, 123456789ll));
return 0;
}