不使用运算符号实现加法

来源:互联网 发布:python二分查找 编辑:程序博客网 时间:2024/05/19 03:43
#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;}

0 0