#include <stdio.h>
typedef long long lld;
lld add(lld a, lld b)
{
lld sum, carry;
if(b == 0)
{
return a;
}
sum = a ^ b;
carry = (a & b) << 1;
return add(sum, carry);
}
lld mul(lld a, lld b)
{
lld i, sum = 0;
for(i = 0; i < a; i = add(i, 1))
{
sum = add(sum, b);
}
return sum;
}
int main()
{
lld a0, a1, p, q, k;
while(scanf("%lld%lld%lld%lld%lld", &a0, &a1, &p, &q, &k) != EOF)
{
lld i, cur = 0;
for(i = 2; i <= k; i = add(i, 1))
{
cur = add(mul(p, a1), mul(q, a0));
a0 = a1;
a1 = cur;
}
printf("%lld\n", cur % 10000);
}
return 0;
}
不使用运算符号实现加法
最新推荐文章于 2021-03-22 20:09:20 发布