前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 H小q的数列

南昌大学航天杯第二届程序设计竞赛校赛网络同步赛 H小q的数列

作者头像
用户2965768
发布2018-08-30 17:14:41
2580
发布2018-08-30 17:14:41
举报
文章被收录于专栏:wym

#include <bits/stdc++.h>

#define ll long long

using namespace std;

ll f[1000010];

ll dfs(ll i)

{

if(f[i]!=-1)

{

return f[i];

}

return f[i/2]+f[i%2];

}

long long read(){

long long res = 0;

int flag = 0;

char ch;

if ((ch = getchar()) == '-'){

flag = 1;

}

else if(ch >= '0' && ch <= '9'){

res = ch - '0';

}

while ((ch = getchar()) >= '0' && ch <= '9'){

res = res * 10 + (ch - '0');

}

//    if(flag)    printf("a[i] = %I64d\n",-res);

//    else printf("a[i] = %I64d\n",res);

return flag ? -res : res;

}

int main()

{

memset(f,-1,sizeof(f));

ios::sync_with_stdio(false);

f[0]=0; f[1]=1;

for(ll i=2;i<=1e6;i++)

{

f[i]=dfs(i);

}

ll t;

t=read();

while(t--)

{

ll n; n=read();

ll count=0;

while(n>1e6)

{

if(n%2!=0)n--,n/=2,count++;

while(n%2==0)n=n/2;

}

ll ans=f[n];

ans+=count;

printf("%lld %lld\n",ans,(ll)pow((ll)2,(ll)ans)-1);

}

return 0;

}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年05月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档