1 条题解
-
0
自动搬运
来自洛谷,原作者为

一只书虫仔
End.搬运于
2025-08-24 21:39:37,当前版本为作者最后更新于2020-08-12 13:24:13,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
Description
给定一个序列 的通项公式
给定 ,求
Solution
又是高精这题可以进行转化,比如 和 ,可以转化为两个 和一个 。
和 可以继续转化,我们就可以把 转化为:
我们可以让所有满足 的 转化为上面的式子,比如:
- $a_3=a_\frac{2}{2}+a_{\frac{2}{2}+1}=a_1+a_2=a_1+a_1=0 \times a_0+2 \times a_1=2$
- $a_4=a_\frac{4}{2}=a_2=a_1=0 \times a_0+1 \times a_1=1$
所以我们只需要求出 和 即可,因为 ,所以输出 即可。
Code 1
#include <bits/stdc++.h> using namespace std; int main () { long long t; scanf("%lld", &t); while (t--) { long long n; scanf("%lld", &n); long long l = 1, r = 0; while (n > 0) { if (n % 2 == 0) l = l + r; else r = l + r; n /= 2; } printf("%lld\n", r); } return 0; }预计得分: 分
Record Link让我们重新审视 的数据范围,。
所以这题需要高精。
Code 2
t = int(input()) for i in range(1, t + 1) : n = int(input()) l = 1 r = 0 while n > 0 : if n % 2 == 0 : l = l + r else : r = l + r n //= 2 print(r)预计得分: 分
Record Link用 python 会被骂的,所以还是要好好写 C++ 比较好By Shuchong
2020.8.12
- 1
信息
- ID
- 1645
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 6
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者