108是几位数_调查丰富度时为什么要调查种群数量

108是几位数_调查丰富度时为什么要调查种群数量求给定区间 [X,Y] 中满足下列条件的整数个数:这个数恰好等于 K 个互不相等的 B 的整数次幂之和。例如,设 X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意:17=24+2018=24+2120=24+22输入格式第一行包含两个整数 X 和 Y,接下来两行包含整数 K 和 B。输出格式只包含一个整数,表示满足条件的数的个数。数据范围1≤X≤Y≤231−1,1≤K≤20,2≤B≤10输入样例:15 2022输出样例:3#include<bit

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

求给定区间 [X,Y] 中满足下列条件的整数个数:这个数恰好等于 K 个互不相等的 B 的整数次幂之和。

例如,设 X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意:

17=24+20
18=24+21
20=24+22
输入格式
第一行包含两个整数 X 和 Y,接下来两行包含整数 K 和 B。

输出格式
只包含一个整数,表示满足条件的数的个数。

数据范围
1≤X≤Y≤231−1,
1≤K≤20,
2≤B≤10

输入样例:
15 20
2
2
输出样例:
3
#include<bits/stdc++.h>
using namespace std;
const int N = 1e2 + 10;
const int K = 35;
//[1 - X]
int res = 0;
int f[K][21];
int l,r,k,b;
void init(){ 
   
    for(int i = 0;i < K;i ++){ 
   
        for(int j = 0;j <= i && j < 21;j ++)
            if(!j)f[i][j] = 1;
            else f[i][j] = f[i - 1][j - 1] + f[i - 1][j];
    }
}
int dp(int x){ 
   
    if(!x)return 0;
    vector<int>nums;
    while(x)nums.push_back(x % b),x /= b;

    int res = 0;
    int last = k;
    for(int i = nums.size() - 1;i >= 0;i --){ 
   
        int x = nums[i];
        if(last < 0 || last > i + 1)break;
        if(x > 1){ 
   
            if(i >= last)res += f[i][last];
            if(i >= last - 1)res += f[i][last - 1];
        }
        else if(x == 1){ 
   
            if(i >= last)
            res += (f[i][last]);
        }
        if(x > 1)break;
        if(x == 1)last --;
        if(!i && last == 0)res ++;
    }
    return res;
}
int main(){ 
   
    init();
    cin>>l>>r>>k>>b;
    cout<<(dp(r) - dp(l - 1))<<endl;
    
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169086.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 安卓转移到苹果手机_苹果手机更换安卓手机怎么备份

    安卓转移到苹果手机_苹果手机更换安卓手机怎么备份通常我们使用手机时间长了之后,手机开始变得卡顿,常常出现内存不足的情况。这种时候不外乎两种情况:一是将手机格式化或还原出厂设置;二是买个新手机。这样做的结果就是手机的数据被删除或是数据留在旧手机内却不能完整的转移到新手机中。那我们该怎么做才能两全其美呢?下面小编就来介绍关于安卓手机和苹果手机如何备份和恢复手机数据的使用方法。一、安卓手机的备份和恢复小米手机里有一个特别的功能

    2022年9月14日
    3
  • settings官方网站_phpstorm中文

    settings官方网站_phpstorm中文setting —> php,选择php版本,并点击…,选择到php.exe进入到appserv底下找到php.ini文件,查找date.timezone,去掉前面的;号,添加”Asia/Shanghai”重启appserv环境,就是重启下apache 和 mysql服务发现依然失败后面重启电脑就可以了哈哈哈哈哈哈哈哈…

    2022年8月18日
    21
  • c++ 容器类_下面属于容器类的是

    c++ 容器类_下面属于容器类的是C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector   连续存储结构,每个元素在内存上是连续的;   支持高效的随机访问和在尾端插入/删除操作,但其他位

    2025年11月5日
    4
  • microsoft office visio2003产品密钥[通俗易懂]

    microsoft office visio2003产品密钥[通俗易懂]WFDWY-XQXJF-RHRYG-BG7RQ-BBDHM

    2022年6月24日
    407
  • git/github运用

    git/github运用

    2021年10月20日
    36
  • 富文本编辑器汇总_移动端富文本编辑器

    富文本编辑器汇总_移动端富文本编辑器富文本编辑器:(RichTextEditor,RTE)是一种可内嵌于浏览器,所见即所得的文本编辑器。它提供类似于OfficeWord的编辑功能,方便那些不太懂HTML用户使用,富文本编辑器的应用非常广泛,它的历史与图文网页诞生的历史几乎一样长。1.TinyMCTinyMCE是一个开源的所见即所得的HTML编辑器,界面相当清新,界面模拟本地软件的风格,顶部有菜单栏。支持图片在线处理,插件多,功能非常强大,易于集成,并且拥有可定制的主题。支持目前流行的各种浏览器,它可以达到微软…

    2025年7月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号