NC15979 小q的数列

简介: NC15979 小q的数列

题目: NC15979 小q的数列 ,哈哈,我们今天来看一道简单的题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:

题目描述是复制的,可能有部分显示不对,我就把题目链接放下面!

题目链接: NC15979 小q的数列

题目描述

输入描述

输入第一行一个t

随后t行,每行一个数n,代表你需要求数列的第n项,和相应的n’

(t<4*10^5)

输出描述

输出每行两个正整数

f[n]和n’,以空格分隔

示例1

输入

2

0

1

输出

0 0

1 1

思路:

这道题我的做法是采用递归,当然,也可以采用其他方法,这道题第一问没什么好说的,直接递归就是,第二问我们可以发现就是1左移第一问答案那个多位,然后减1,这样一定是最小的!

我们来看看成功AC的代码吧:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
int f(ll x){
    if(x==1||x==0) return x;
    return f(x/2)+x%2;
}
int main(){
    ios::sync_with_stdio(false);
    cin>>n;
    while(n--){
        ll x;  cin>>x;
        int res=f(x);
        cout<<res<<" "<<(1LL<<res)-1<<"\n";
    }
    return 0;
}


相关文章
|
5月前
|
容器
【题解】NowCoder NC313 两个数组的交集
【题解】NowCoder NC313 两个数组的交集
37 6
|
6月前
|
存储
nowcoder NC236题 最大差值
【1月更文挑战第2天】
46 0
|
6月前
nowcoder NC30 缺失的第一个正整数
题目链接:  https://www.nowcoder.com/share/jump/819478881694767416272
42 0
|
6月前
|
存储 算法 Java
【牛客-算法】NC57 反转数字
题目描述 原题:NC57 反转数字 描述 给定一个32位的有符号整数num,将num中的数字部分反转,最后返回反转的结果 1.只反转数字部分,符号位部分不反转
48 0
|
容器
华为机试HJ60:查找组成一个偶数最接近的两个素数
华为机试HJ60:查找组成一个偶数最接近的两个素数
华为机试HJ58:输入n个整数,输出其中最小的k个
华为机试HJ58:输入n个整数,输出其中最小的k个
|
容器
华为机试HJ93:数组分组
华为机试HJ93:数组分组
|
数据安全/隐私保护
NC20860 兔子的区间密码
NC20860 兔子的区间密码