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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168584.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Extjs grid设置单元格字体颜色,及单元格背景色「建议收藏」

    Extjs grid设置单元格字体颜色,及单元格背景色「建议收藏」转自:http://blog.csdn.net/suixufeng/article/details/7480170上面这种是最简单的,设定固定的某单元格中字体颜色。[javascript]viewplaincopy//————————————————–列头    var cm = new

  • unity c++ c#(3d加工编程软件)

    一、前言这篇文章主要是给零基础想要Unity入门的关于C#编程的一些意见二、参考文章unity中的C#编程-零基础(Unity2017)三、正文1.什么是C#编程语言?微软官方出版2.编程工具(IDE)3.创建第一个C#代码4.场景的保存和脚本的保存5.关于日志输出(指控制输出,其中Log有三类:正常、警告、错误输出)6.变量7.方法的定义和调…

  • 投影,投影矩阵,正交投影矩阵的区别_矩阵论正交投影

    投影,投影矩阵,正交投影矩阵的区别_矩阵论正交投影1、投影2、幂等矩阵3、正交投影

  • httprunner(3)用脚手架快速搭建项目「建议收藏」

    httprunner(3)用脚手架快速搭建项目「建议收藏」前言如何快速搭建一个httprunner项目呢?我们可以使用脚手架,脚手架就是自动地创建一些目录,形成一个项目的架构,不需要我们再手动的去创建查看创建新项目的命令先来查看一下帮助命令httpr

  • PotPlayer下载与使用

    PotPlayer下载与使用下载安装说起来,Potplayer的下载其实并不轻松,它在国内是没有自己的官网;虽然你简单百度下,总能找到下载网站,但是并不能保证其安全和纯净,个人建议从这个官网下载:下载入口:Potplayer官网/公众号分享Potplayer的官网提供有64位和32位两种版本,我们只需要选择好适合自己系统类型的版本,点击下载;一般系统都是64位,如果还不知道的自己电脑系统类型,那么右键桌面“我的电脑”图标,选择“属性”,进入之后,即可查看;下载完成后,得到一个exe文件,双击打开;依次点击“下一步

  • LINUX系统更改系统时区

    LINUX系统更改系统时区Linux-Redhat系统更改系统时区[root@localhost~]#date #查看本地时间ThuMay1923:41:32EDT2022[root@localhost~]#hwclock–show #查看硬件时间Thu19May202211:42:07PMEDT-0.332325seconds当前系统版本:RedHatEnterpriseLinuxServerrelease7.0(Maipo)查看目前的时区:[r

    2022年10月30日

发表回复

您的电子邮箱地址不会被公开。

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