[普及练习场]失踪的7

简介: [普及练习场]失踪的7

 本专辑上篇: [普及练习场] 生活大爆炸版石头剪刀布

image.gif编辑

看得都爽,对吧!感谢hydro的页面和浴谷的搬运。

目录

一.读题

失踪的7

题意

二 .做题

算法原理

算法实现

全篇代码分解讲解

输入

中心


一.读题

失踪的7

题目描述

远古的 Pascal 人也使用阿拉伯数字来进行计数,但是他们又不喜欢使用 77 ,因为他们认为 77 是一个不吉祥的数字,所以 Pascal 数字 88 其实表示的是自然数中的 77,1818 表示的是自然数中的 1616 。请计算,在正整数 nn 范围以内包含有多少个 Pascal 数字。

输入格式

第一行为正整数 tt,接下来 tt 行,每行一个正整数 nn,且保证输入 nn 的是 Pascal 数字

输出格式

对于每个正整数 nn,输出 nn 以内的 Pascal 数的个数。

输入数据 1

2
10
20
image.gif

输出数据 1

9
18
image.gif

提示

对于所有数据,1 \leq t \leq 100001≤t≤10000,1 \leq n \leq 2^{32}-11≤n≤232−1。

题意

计算在1到n的所有整数中有多少个不含7的数。


二 .做题

算法原理

很容易发现,

n每增加10(n≠70),含7数字个数加1个,Pascal数字增加9^1个;

n每增加100(n≠700),含7数字个数加10+9×1个,Pascal数字增加9^2个;

n每增加1000(n≠7000),含7数字个数加100+9×(10+9×1)个,Pascal数字增加9^3个;

n每增加10000(n≠70000),含7数字个数加1000+9×(100+9×(10+9×1))个,Pascal数字增加9^4个;

……

为了方便解释,将增加的个数成为基准值

算法实现

①从个位到最高位分解n。

②如果这一位数小于七,那么直接加上 它乘它那基准值为了方便解释,将增加的个数成为基准值);如果大于七,还要在上面的基础上减去一个基准值。因为类似于700-799,700000-799999,7000-7999,这些数一个都不是Pascal数,与上述规则不符,要全部减去。

全篇代码分解讲解

输入

scanf("%d",&t);

image.gif

中心

第一个while相当于for(int i=1;i<=t;i++)。

输入n后,开始模拟实现上述过程。f用来算基准值,s来统计个数。第二个while用来拆解n,自己看吧!

最后,输出。

while(t--)
  {
    long long s=0,f=1;
    scanf("%lld",&n);
    while(n!=0)
    {
      int q=n%10;
      if(q<7) s+=f*q;
      else s+=f*q-f;
      f*=9;
      n/=10; 
    }
        printf("%lld\n",s);
  }

image.gif


下次,我们将讲解:题目详情 - 楼房 - 浴谷 - HydroOJ

目录
打赏
0
0
0
0
5
分享
相关文章
kde
|
5天前
|
Docker镜像加速指南:手把手教你配置国内镜像源
配置国内镜像源可大幅提升 Docker 拉取速度,解决访问 Docker Hub 缓慢问题。本文详解 Linux、Docker Desktop 配置方法,并提供测速对比与常见问题解答,附最新可用镜像源列表,助力高效开发部署。
kde
3121 8
国内如何安装和使用 Claude Code镜像教程 - Windows 用户篇
国内如何安装和使用 Claude Code镜像教程 - Windows 用户篇
569 0
Dify MCP 保姆级教程来了!
大语言模型,例如 DeepSeek,如果不能联网、不能操作外部工具,只能是聊天机器人。除了聊天没什么可做的。
838 9
2025年最新版最细致Maven安装与配置指南(任何版本都可以依据本文章配置)
本文详细介绍了Maven的项目管理工具特性、安装步骤和配置方法。主要内容包括: Maven概述:解释Maven作为基于POM的构建工具,具备依赖管理、构建生命周期和仓库管理等功能。 安装步骤: 从官网下载最新版本 解压到指定目录 创建本地仓库文件夹 关键配置: 修改settings.xml文件 配置阿里云和清华大学镜像仓库以加速依赖下载 设置本地仓库路径 附加说明:包含详细的配置示例和截图指导,适用于各种操作系统环境。 本文提供了完整的Maven安装和配置
2025年最新版最细致Maven安装与配置指南(任何版本都可以依据本文章配置)
【保姆级图文详解】大模型、Spring AI编程调用大模型
【保姆级图文详解】大模型、Spring AI编程调用大模型
357 7
【保姆级图文详解】大模型、Spring AI编程调用大模型
Excel数据治理新思路:引入智能体实现自动纠错【Python+Agent】
本文介绍如何利用智能体与Python代码批量处理Excel中的脏数据,解决人工录入导致的格式混乱、逻辑错误等问题。通过构建具备数据校验、异常标记及自动修正功能的系统,将数小时的人工核查任务缩短至分钟级,大幅提升数据一致性和办公效率。
DeepSeek R1+Open WebUI实现本地知识库的搭建和局域网访问
本文介绍了使用 DeepSeek R1 和 Open WebUI 搭建本地知识库的详细步骤与注意事项,涵盖核心组件介绍、硬件与软件准备、模型部署、知识库构建及问答功能实现等内容,适用于本地文档存储、向量化与检索增强生成(RAG)场景的应用开发。
368 0
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
阿里云推出基于场景的解决方案免费试用活动,新老用户均可领取100点试用点,完成部署还可再领最高100点,相当于一年可获得最高200元云资源。覆盖AI、大数据、互联网应用开发等多个领域,支持热门场景如DeepSeek部署、模型微调等,助力企业和开发者快速验证方案并上云。
305 22
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
FLUX.1 Kontext 的全生态教程来啦!AIGC专区在线试玩!
Flux.1 Kontext [dev] 开源模型大家都用上了吗?小编汇总了3个使用教程,打包送上!
426 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等