编程题
### 问题描述 七萤正在玩解谜游戏。他获得了两个数字序列,每个序列包含了 $N$ 个正整数。如果第一个序列中的数字 $a_i$ 与第二个序列中的数字 $b_j$ 的最大公约数(Greatest Common Divisor)的二进制形式构成回文串,那么这两个位置($i,j$) 便构成一个奇特的位置数对。例如,某两个位置上的数字的最大公约数为 $5$,对应二进制形式为 $101$,构成回文串。而 $6$ 的二进制形式为 $110$,不构成回文串。 请你帮他求出,两个序列最多可以构成多少个不同的奇特的位置数对。 ### 输入格式 第一行一个正整数 $N$,含义如上所述。 第二行 $N$ 个以空格隔开的正整数 $a_i$,表示第一个序列中的第 $i$ 个数字。 第三行 $N$ 个以空格隔开的正整数 $b_i$,表示第二个序列中的第 $i$ 个数字。 ### 输出格式 一个正整数,表示可以构成的不同的奇特的位置数对的数量。 ### 样例输入 ```text 2 5 6 10 12 ``` ### 样例输出 ```text 2 ``` ### 说明 在样例中,满足条件的位置数对有:`(1,1)`,`(1,2)`。 ### 评测数据规模 对于 $50$% 的评测数据,$1 \leq N\leq 10^{2}$,$1 \leq a_i,b_i \leq 10^{6}$。 对于 $100$% 的评测数据,$1 \leq N\leq 10^{3}$,$1 \leq a_i,b_i \leq 10^{18}$。
查看答案
赣ICP备20007335号-2