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/168584.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月9日 下午2:16
下一篇 2022年8月9日 下午2:36


相关推荐

  • 扛得住的MySQL数据库架构「建议收藏」

    扛得住的MySQL数据库架构

    2022年2月17日
    43
  • Spring Boot 拦截器

    Spring Boot 拦截器上一篇对过滤器的定义做了说明,也比较简单。过滤器属于Servlet范畴的API,与Spring没什么关系。Web开发中,我们除了使用Filter来过滤请web求外,还可以使用Spring提供的HandlerInterceptor(拦截器)。HandlerInterceptor的功能跟过滤器类似,但是提供更精细的的控制能力:在request被响应之前、request被响应之后、视图渲染之前

    2022年4月27日
    43
  • Animation的使用「建议收藏」

    Animation的使用「建议收藏」Animation(动画)有两种分类:补间动画(Tween)和帧动画(Frame)补间动画主要有以下几种:旋转(RotateAnimation)平移(TranslateAnimation)拉伸(ScaleAnimation)透明度(AlphaAnimation)实现的方式:1.实例相应的动画对象2.加载资源中的动画文件动画的属性d

    2025年6月17日
    4
  • 茂名天源石化有限责任公司_茂名石化为什么在茂名

    茂名天源石化有限责任公司_茂名石化为什么在茂名目前来看,广东省已经拥有诸多国外化工巨头、大型民营炼化企业和不少国企的炼化项目,成为很多石化企业首选的项目落地基地。“石化业高质量发展看广东”,已经逐渐明朗。今年以来,已有恒力石化(惠州)PTA项目、东华能源(茂名)烷烃资源综合利用项目(一期)、茂名天源石化碳三碳四资源利用等项目开工今年3月31日,广东省发展改革委官网公布《广东省2021年重点建设项目计划》。在2021年重点项目名单中,广东共安排省重点项目1395个,总投资达7.28万亿元,年度计划投资8000亿元。其中新开工项目有3个,总投资约2

    2022年10月16日
    6
  • java的常量

    java的常量JAVA变量与常量常量常量值常量常量的声明定义常量常量在c语言编程网中的定义是指在程序的整个运行过程中值保持不变的量。在这里要注意常量和常量值是不同的概念,常量值是常量的具体和直观的表现形式,常量是形式化的表现。这里体现出常量值这一定义,我认为的常量值就是值,具体的某一数值百度出来的常量是定义为两种意思:一是不可变的变量,也是最最最开始接触java知道的,二如上。平时所说的值指的是常量值,常量是不可变的变量(用final修饰的变量)常量值提到常量值不得不说一下计数法,八进制、十进制、十六进制所代

    2022年7月8日
    28
  • 在PyCharm中配置使用Anaconda环境

    在PyCharm中配置使用Anaconda环境在 PyCharm 中配置使用 Anaconda 环境一 步骤 1 Anaconda2 PyCharm 总结一 步骤 1 Anaconda 如未安装 Anaconda 可至其官网下载 学习使用个人版就可以了 下载地址 https www anaconda com products individual1 打开 AnacondaNavi 点击 Environments 可以看到 anaconda 中已经有了默认的 base 环境 其中包含了大多数我们会用到的包 在 PyCharm 中可以直接使用该环境 而无需自行下载

    2026年3月27日
    4

发表回复

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

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