K-进制数(简洁 图解)

简介: 根据题意,要知道 N 位K 进制并且 不能有连续两个0出现 还有首位不能为0 的限制条件。 本着由简到难的思想 : 假设是让你求 1位 K 进制的满足条件的数,那么满足条件的数则有 1,2,3.....K-1 一共K-1个数对吧,我们记作 res_1=K-1,那么不满足条件的数 只有 0 ,一共1个数 ,我们记作res_0=1。 假设是让你求 2位 K 进制的满足条件的数,那么先考虑首位(也就是第2位),可以填的数为除去0的其他数,

  K-进制数

题目描述

考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.

考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.  例:  1010230 是有效的7位数  1000198 无效  0001235 不是7位数, 而是4位数.  给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数.  假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18.

输入

两个十进制整数N和K

2

10

输出

十进制表示的结果

90

样例输入

样例输出

根据题意,要知道 N 位K 进制并且 不能有连续两个0出现 还有首位不能为0 的限制条件。

 本着由简到难的思想  :

        假设是让你求 1位 K 进制的满足条件的数,那么满足条件的数则有 1,2,3.....K-1 一共K-1个数对吧,

我们记作 res_1=K-1,那么不满足条件的数 只有 0 ,一共1个数 ,我们记作res_0=1。

             

        假设是让你求 2位 K 进制的满足条件的数,那么先考虑首位(也就是第2位),可以填的数为除去0的其他数,

有 1,2,3.....K-1 一共K-1个数对吧,而这第二位可以填的数 可以和第一位的所有数搭配,

以1为例,有 11,12,13,.....1(K-1),还有在第一位不满足条件的 0 搭配 10,也是满足条件的数,

所以2位K进制满足条件的数res_1=(K-1)(K-1+1),即 res_1=(K-1)(res_1+res_0),对吧,

再来看不满足条件的数 即 首位为0的 有 01,02,03.....0(K-1),一共有K-1个也就是res_0=K-1,即 res_0=res_1(上一个)。

第一位满足条件的数res_1对吧,因为不能连0 ,虽然00也是不满足,但是 00这种情况是绝对不满足,

而首位不满足的情况是相对不满足,绝对和相对 懂吧。

       那么继续,假设是让你求 3位 K 进制的满足条件的数,同样先考虑首位(也就是第3位),

可以填的数为除去0的其他数,有 1,2,3.....K-1 一共K-1个数对吧,而这第3位可以填的数

可以和2位K进制满足条件和(相对)不满足条件的数搭配,即 res_1=(K-1)[(K-1)(K-1+1)+(K-1)],

即 res_1=(K-1)*(res_1+res_0),不满足条件的数则是可以和2位K进制满足条件的数搭配,

res_0=(k-1)*(K-1+1),即res_0=res_1。

 后面的位数就以此类推,再看看图解。

网络异常,图片无法展示
|

AC代码:

#include<stdio.h>intmain(){
intN,K,i,res_0,res_1;//res_1代表最高位非0  res_0代表最高位为0的结果 while(scanf("%d%d",&N,&K)!=EOF){
res_1=K-1,res_0=1;//如果只有一位时 K进制首位为1的可以填的为K-1个数去掉为0 for(i=2;i<=N;i++){ 
intlast_res_1=res_1;//暂存 res_1=(K-1)*(res_1+res_0);//如果高位为1 则结果为上一次结果为1和为0的数的个数 res_0=last_res_1; //如果高位为0 则结果为上一次结果为1的数的个数       }
printf("%d\n",res_1);
   }
return0;
}
目录
相关文章
|
8月前
|
人工智能 Linux API
OpenClaw从入门到精通:AGENTS.md等六核心文件配置、云端本地部署与大模型对接实战教程
很多用户在使用OpenClaw(Clawdbot)时都会遇到同样的困扰:AI记不住习惯、理解偏差、执行混乱、乱删文件、回复风格不符预期。实际上,OpenClaw并非黑盒系统,它的行为、人格、记忆、工作流程完全由**六个核心Markdown配置文件**控制。这些文件构成了AI的“大脑、性格、手册、记忆、知识库、用户档案”,只要正确配置,就能把普通AI变成听话、稳定、专业的专属数字员工。
4763 3
|
10月前
|
域名解析 弹性计算 网络协议
2026年阿里云域名注册与备案全流程指南
在互联网服务体系中,域名是用户访问网站的核心入口,阿里云提供从域名查询、注册到备案的全链路服务,需遵循 “先注册实名认证,再备案解析” 的流程。本文结合官方规则与实操细节,详细拆解域名注册与备案的核心步骤,解答价格、材料等常见问题,帮助用户合规完成域名部署。
|
9月前
|
监控 Windows
TUPortable安装步骤详解(附流量监控与进程占用查看教程)
TUPortable 是一款轻量级便携式流量监控工具,单文件运行,无需安装。支持Win7/10/11,以管理员身份运行即可实时查看全网速及各进程流量占用,支持多网卡选择与托盘驻留,适合快速诊断网络异常。(239字)
813 15
|
8月前
|
消息中间件 前端开发 Java
外卖配送开发系统的订单状态流转与结算逻辑详解
本文深入剖析外卖配送系统核心:订单状态机与结算逻辑。详解10种严谨状态流转、幂等控制、事务设计及三方分账模型,附Java关键代码与高并发避坑指南,直击系统稳定生死线。(239字)
|
人工智能 前端开发 JavaScript
用 通义灵码打造创意 Loading 动画生成器:只需三个词,就能玩出花来!
本文介绍了如何利用“通义灵码”打造一个创意 Loading 动画生成器。作者通过输入“科技感、电波、液体”三个关键词,借助 AI 工具自动生成酷炫的 CSS 动画效果,无需手动编写复杂代码。整个过程高效便捷,只需描述风格关键词,即可生成多种加载动画,并可封装为组件直接使用,极大地提升了开发效率与创意表达。
|
人工智能 监控 数据可视化
BISHENG下一代企业AI应用的“全能型“LLM软件
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
11月前
|
算法 物联网 机器人
蓝牙信标、UWB等主流室内定位无线技术的参数对比、核心算法和选型指南详解(二)
本文系统解析室内定位无线技术,涵盖蓝牙、Wi-Fi、UWB、RFID、超声波、可见光等主流技术的原理、参数对比与核心算法(RSSI、TDOA、AoA),并提供按精度、成本、场景匹配的选型指南,助力民用、工业、资产盘点及特殊环境下的最优技术选择。如果您想进一步了解定位的案例,欢迎关注、评论留言~也可搜索lbs智能定位。
|
缓存 监控 Kubernetes
Java虚拟机内存溢出(Java Heap Space)问题处理方案
综上所述, 解决Java Heap Space溢出需从多角度综合施策; 包括但不限于配置调整、代码审查与优化以及系统设计层面改进; 同样也不能忽视运行期监控与预警设置之重要性; 及早发现潜在风险点并采取相应补救手段至关重要.
1168 17
|
人工智能 JSON API
LongDocURL:中科院联合阿里推出多模态长文档理解基准数据集,用于评估模型对复杂文档分析与推理的能力
LongDocURL 是由中科院与淘天集团联合推出的多模态长文档理解基准数据集,涵盖 2,325 个问答对,支持复杂文档的理解、推理和定位任务。
909 77
LongDocURL:中科院联合阿里推出多模态长文档理解基准数据集,用于评估模型对复杂文档分析与推理的能力
|
人工智能 自然语言处理 监控
究竟怎样从零开始构建一个实用且高效的AI代理?
产品专家三桥君提出构建高效AI代理的关键步骤包括:明确任务、设计操作流程、构建最小可行产品(MVP)、连接与编排、测试与迭代,以及部署、扩展与优化。通过定义现实任务、编写详细操作流程,并利用提示工程工具构建核心提示,确保代理流畅执行任务。测试阶段包括手动和自动化测试,验证代理在不同场景下的表现。部署后,根据用户反馈和监控数据持续扩展和优化功能,确保代理在实际使用中高效稳定。持续迭代和用户反馈是成功的关键。
1058 0