大数取余算法+找规律
链接:https://ac.nowcoder.com/acm/contest/2900/C
来源:牛客网
题目描述
ACM的冰冰酱是一位普通(并不)的女大学生,她最喜欢的就是斐波拉契数了,斐波那契数列是一个从第3项开始,每一项都等于前两项之和的神奇数列。
冰冰酱每天都会想到许多与斐波那契数列有关的问题,有一天冰冰酱忽然想知道斐波那契数列中的任意两个位置aa到bb的全部斐波那契数的和是奇数还是偶数呢,那么你可以帮助冰冰小姐姐解决这个问题嘛。
输入描述: 第一行为t(1<=t<=100),代表t组数据.
每组数据中包括两个数字a和b,代表斐波那契数列的第a位和第b位。(1<=a<=b<=10^100)输出描述: 对于每组数据,输出一个结果,如果是偶数输出为0,如果是奇数,输出为1.
示例1 输入
4
1 2
1 3
1 4
1 5
输出
0
0
1
0
#include <bits/stdc++.h>
using namespace std;
int modd(string a) //大数取余
{
int now=0;
for(int i=0;i<a.size();i++)
{
now=(now+a[i]-'0')%3;
}
return now;
}
int main()
{
int t;
string a,b;
scanf("%d",&t);
while(t--)
{
cin>>a>>b;
int n=modd(a);
int m=modd(b);
if (n==0&&m==0||n==0&&m==2||n==2&&m==1||n==1&&m==2||n==1&&m==0)//规律
{
printf("0\n");
}
else
{
printf("1\n");
}
}
return 0;
}