• 主页
  • 随笔
  • 计划
所有文章 关于我 友链

  • 主页
  • 随笔
  • 计划

1+2=3?(奇怪的斐波那契规律题)

2018-04-15

1+2=3?

题目

输入一个T,接下来T行,每行一个N,输出满足 x异或2x== 3x 的第N个数字。

T<=100,N<=1e12

思路

打了表,整数数列百科全书中找到符合规律的数列,观察二进制形式后发现:

规律

斐波那契数列:

1 2 3 5 8 13 21 34 55 ……

题中若N=60,则60= 55 + 5 (第9项+第4项)

则第60个满足条件的数为:1(9)00001(4)000 = 264 (4、9号位数为1,其他都是0)

由于1e12小于斐波那契的第59项,故开一个59大的数组,里面存斐波那契数,然后对于每一个N寻找最少的组成它的斐波那契数,找到他是第x项,那么ans+2^x即可。

(问题是我的代码怎么这么丑= =)

看!代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
vector<long long>fei; //算斐波那契 1 2 3 5这样的
fei.push_back(1);fei.push_back(2);
while(fei[fei.size()-1]<(1e12+5)) fei.push_back(fei[fei.size()-1]+fei[fei.size()-2]);

while(t--)
{
long long n,temp;
scanf("%lld",&n);
temp=n;
long long weishu[100],x=1,ans=0;
for(int i=0;i<60;i++)
weishu[i]=x,x*=2; //计算2的i次

for(int i=57;i>=0;i--)
if(temp>=fei[i]) //找能组成他的斐波那契数,直接算
temp-=fei[i],ans+=weishu[i];

printf("%lld\n",ans);
}
return 0;
}
  • 斐波那契
  • 规律
  • 算法

扫一扫,分享到微信

微信分享二维码
K序列(DP)
归途
  1. 1. 1+2=3?
    1. 1.1. 题目
    2. 1.2. 思路
    3. 1.3. 看!代码
© 2021 xxQ
Hexo Theme Yilia by Litten
  • 所有文章
  • 关于我
  • 友链

tag:

  • CodeForces
  • 二分
  • 随想
  • 斐波那契
  • 规律
  • DP
  • 最短路
  • 图论
  • 滚动数组
  • 最大权闭合子图
  • 模板
  • 素数
  • 网络流
  • dfs
  • 思维
  • 前缀和
  • 带权并查集
  • bfs
  • 贪心
  • 排列组合
  • dp
  • CSS
  • 次短路
  • 大数分解
  • English
  • AC自动机
  • 随机化算法
  • 莫比乌斯反演
  • 线段树
  • ST表
  • HDU
  • 母函数
  • 莫队
  • 容斥
  • 网站优化
  • Lucas
  • Universe
  • 拓扑
  • 并查集
  • 全排列构造
  • 字符串哈希
  • Subline
  • 矩阵快速幂
  • 欧拉路
  • 中国剩余定理
  • ZOJ
  • 歌词
  • 学习
  • 数学
  • 欧拉函数
  • 笔试
  • 音乐
  • 下载
  • 边缘计算

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • Litten
  • 婷婷
  • 叫我陈续缘
  • 世平阜康
  • 倾城之链(网站收录)
  • HUBBLE宇宙
  • 如果月球只有一个像素那么大
  • 早茶时光
小可爱的小可爱,
拖肥的娘亲,
划水的ACMer,
努力中的小菜鸡,
想要自信和一往无前的勇气。