ZOJ-4108Fibonacci in the Pocket——斐波那契+周期性+大整数取模+前缀和

Fibonacci in the Pocket

#include<stdio.h>
#include<iostream>
#include<cmath>
#include<math.h>
#include<string>
#include<string.h>
#include<algorithm>
#include<stack>
#include<queue>
#include<vector>
#include<map>
#define ms0(a) memset(a,0,sizeof(a))
#define ll long long
#define ull unsigned long long
#define INF0x3f3f3f3f
const int dx[] ={-1,1,0,0,-1,-1,1,1};
const int dy[] = {0,0,-1,1,-1,1,-1,1};
using namespace std;


int largeNumberDiv(char* s,int p)
{
    int len = (int)strlen(s);
    int sum=0;
    for(int i=0;i<len;i++)
    {
        sum = sum*10 +s[i]-'0';
        sum%=p;
    }
    return sum%p;
}

int T[]={0,1,0};
char a[10005],b[10005];
int main(){
    int t;
    cin>>t;
    while (t--)
    {
        ms0(a);ms0(b);
        scanf("%s%s",a,b);
        printf("%d\n",(T[largeNumberDiv(b, 3)]-T[(largeNumberDiv(a, 3)+2)%3]+2)%2);
    }
    return 0;
}


发布了78 篇原创文章 · 获赞 0 · 访问量 3411

猜你喜欢

转载自blog.csdn.net/qq_44846324/article/details/104896460