练习题 幸运数

题目

问题描述

小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面一半的数位之和,则这个数是他的幸运数字。例如 23142314 是一个幸运数字, 因为它有 44 个数位, 并且 2+3=1+42+3=1+4 。现在请你帮他计算从 11 至 100000000100000000 之间共有多少个不同的幸运数字。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python33s256M
PyPy33s256M
Go3s256M
JavaScript3s256M
提交代码
提交代码1
//幸运数//填空题
//小蓝的幸运数字:整数,偶数位,前一半数位之和等于后一半数位之和
//求1-1e8之间有多少幸运数字
//每个数位开始的数字1000......0
//可以从头到尾遍历各个数字判断每一个是否符合
//可以组成幸运数字判断是否在范围内 
//偶数位最多为8位 #include<iostream>
using namespace std;int cnt = 1;//数位个数
int result = 0;//结果 
int t = 1;int main(){int temp;//暂存当前数int l = 0,r = 0;//前后数位之和 for(int i = 1;i < (int)(1e8);i++){if(cnt % 2 == 1){//奇数位i *= 10;t *= 100;cnt++; }else{//偶数位temp = i;//暂存当前数l = 0,r = 0;//前后数位之和 //计算后面的数位之和for(int j = 0;j < cnt / 2;j++){r += temp % 10;temp /= 10;}//计算前面的数位之和for(int j = 0;j < cnt / 2;j++){l += temp % 10;temp /= 10;}//判断是否是幸运数if(l == r){result++;}//判断是否下一个数会多一位if(t == i + 1){cnt++;}}} //输出结果printf("%d",result); return 0;
} 

 解题思路:暴力枚举,容易想到,但会超时,适合填空题。

提交代码2
//幸运数//填空题
//小蓝的幸运数字:整数,偶数位,前一半数位之和等于后一半数位之和
//求1-1e8之间有多少幸运数字
//每个数位开始的数字1000......0
//可以从头到尾遍历各个数字判断每一个是否符合
//可以组成幸运数字判断是否在范围内 
//偶数位最多为8位 
//两个二维数组存各种可能位数之和 #include<iostream>
using namespace std;int result = 0;//结果
//最多前后各有四位,位数之和最大为36 
int sum1[5][37],sum2[5][37];int main(){int temp;//暂存遍历的数 int t = 1;//位数int sum = 0; //判断前面的位数之和的情况 //遍历1-9999for(int i = 1;i < 10000;i++){temp = i;sum = 0;//求数位之和 while(temp != 0){sum += temp % 10;temp /= 10;}sum1[t][sum]++;//更改位数 if(i == 9 || i == 99 || i == 999){t++;}}t = 1;//判断后面的位数之和的情况for(int i = 1;i < 10000;i++){temp = i;sum = 0;//求数位之和 while(temp != 0){sum += temp % 10;temp /= 10;}//后面的数位前面可以补0for(int j = t;j < 5;j++){sum2[j][sum]++;} //更改位数 if(i == 9 || i == 99 || i == 999){t++;}} //计算结果for(int i = 1;i < 5;i++){for(int j = 1;j < 37;j++){result += sum1[i][j] * sum2[i][j];}} //输出结果printf("%d",result); return 0;
} 

解题思路:对逻辑进行优化,利用空间换时间,增加两个二维数组,记录前面位数之和各种和的可能个数和后面位数之和各种和的可能个数,二者相乘并相加,得到结果,不会超时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【WinForm.NET开发】实现使用后台操作的窗体

本文内容 创建使用后台操作的窗体使用设计器创建 BackgroundWorker添加异步事件处理程序添加进度报告和取消支持Checkpoint 如果某项操作需要很长的时间才能完成&#xff0c;并且不希望用户界面 (UI) 停止响应或阻塞&#xff0c;则可以使用 BackgroundWorker 类在另一个线程上…

为什么C++17要引入std::string_view?

目录 1.引言 2.原理分析 2.1.结构 2.2.构造函数 2.3.成员函数 2.4.std::string_view字面量 3.实例 3.1.std::string_view和std::string的运算符操作 3.2.查找函数使用 3.3.std::string_view和临时字符串 4.总结 1.引言 在C/C日常编程中&#xff0c;我们常进行数据的…

JDK8新增的时间类

目录 内容大纲&#xff1a; 1、Zoneld时区 2、Instant时间戳 3、ZoneDateTime带时区的时间 4、DateTimeFormatter用于时间的格式化和解析 5、Calendar类&#xff1a; 6、工具类 内容大纲&#xff1a; 1、Zoneld时区 方法名说明static Set<String>getArailableZoneIds()获…

java集合(4)

1.HashSet集合 1.1HashSet集合概述和特点【应用】 底层数据结构是哈希表 存取无序 不可以存储重复元素 没有索引,不能使用普通for循环遍历 1.2HashSet集合的基本应用【应用】 存储字符串并遍历 public class HashSetDemo {public static void main(String[] args) {//创…

MCU常用外设总线

目录 前言一、时钟与中断二、GPIO三、ADC四、定时器4.1 基本定时器4.2 通用定时器4.2.1 输入捕获4.2.2 输出比较 五、UART六、IIC七、SPI 前言 本文主要讲单片机外设的功能&#xff0c;即这些外设是什么&#xff0c;可以用来干什么&#xff0c;了解了之后我们就可以通过相应的寄…

学校服务器hpc东南大学,下载国家基因组科技中心数据 gsa-human ascp chatpt建议 Linux系统中写代码

使用ascp批量下载数据 You files.csv 帮我写个批量下载的脚本&#xff0c;批量下载时候&#xff0c;把路径中最后的HRR659816批量替换成 Accession列的内容就行了。下面是示例 ascp -v -QT -l 300m -P33001 -k1 -i ~/.aspera/connect/etc/aspera01.openssh_for_gsa -d asper…

前端 解析压缩包,并且读取Shp生成GeoJson在MapBox上渲染

这里需要先安装shapefile&#xff1b;jszip;turf npm install shapefile npm install jszip npm install turf/turf <ElUploadref"upload"v-model:file-list"fileListShp":limit"1"accept".zip":show-file-list"true":au…

算法训练day18Leetcode找树左下角的值112路径总和106从中序和后续遍历构造二叉树

513 找树左下角的值 题目描述 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。示例 1:输入: root [2,1,3] 输出: 1 示例 2:输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7提示:二叉树的节点个数的范围是 […

贝锐蒲公英云AP体验:云端快速部署、远程管理,轻松满足办公环境

公司原本的网络由于采用多个路由器&#xff0c;导致无线信号杂乱&#xff0c;管理不便&#xff0c;且远程办公体验较差&#xff0c;作为IT负责人的我&#xff0c;一直想寻找一个可以实现网络统一管理并有效提升远程工作便捷性的产品。 于是&#xff0c;我决定在公司内部部署贝…

5G_射频测试_基础概念(二)

定义了测试参考点&#xff0c;不同的RRU类型 C类型传统RRU Conducted and radiated requirement reference points 4.3.1 BS type 1-C&#xff08;传统RRU一般测试点就是连接天线的射频接头&#xff09; 4.3.2 BS type 1-H&#xff08;宏站MassiveMIMO 矩阵天线&#xff…

Nginx实现html页面注入浏览器监控js代码片段

一、背景 最近看到关于浏览器监控相关的东西&#xff0c;顺带着就记录一下其实现的大致原理过程。 在我们没对web应用做浏览器监控的时候&#xff0c;我们其实无法感知到用户对我们应用页面的使用习惯、使用中是否遇到问题&#xff0c;例如白屏情况出现多少次、请求失败情况、j…

ROS第 12 课 Launch 启动文件的使用方法

文章目录 第 12 课 Launch 启动文件的使用方法1.本节前言2.Lanuch 文件基本语法2.2 参数设置2.3 重映射嵌套 3.实操练习 第 12 课 Launch 启动文件的使用方法 1.本节前言 我们在前面的教程里面通过命令行来尝试运行新的节点。但随着创建越来越复杂的机器人系统中&#xff0c;打…

nest 集成 redis

1.准备工作 安装redis npm install ioredis pnpm install --save nestjs-redis ioredis pnpm install --save nestjsplus/redis 这个命令nest g res redis创建redis需要用的 之后再appmoudlue加入 providers: [ AppService, { provide: REDIS_CLIENT, async useFactory(…

【Java】Maven的基本使用

Maven的基本使用 Maven常用命令 complie&#xff1a;编译clean&#xff1a;清理test&#xff1a;测试package&#xff1a;打包install&#xff1a;安装 mvn complie mvn clean mvn test mvn package mvn installMaven生命周期 IDEA配置Maven Maven坐标 什么是坐标&#xff1f;…

可视化 | 【echarts】中国地图热力图

文章目录 &#x1f4da;html和css&#x1f4da;js&#x1f407;整体框架&#x1f407;getGeoJson&#x1f407;echarts绘图⭐️整体框架⭐️option配置项 【echarts】渐变条形折线复合图【echarts】金字塔图 &#x1f4da;html和css html&#xff1a;整合<!DOCTYPE html&g…

Docker:容器的两种运行模式(Foreground、Detached)

Docker容器进程有两种运行模式&#xff0c;通俗理解如下&#xff1a; 后台模式就是在后台运行&#xff0c;不会让当前进程卡主&#xff0c;你可以做其他事情。 前台模式是在前台运行&#xff0c;会导致当前卡住&#xff0c;并输出日志至当前控制台。 Foreground 前台模式&…

5G_射频测试_发射机测量(四)

6.2 Base station output power 用于测量载波发射功率的大小&#xff0c;功率越大小区半径越大但是杂散也会越大 载波功率&#xff08;用频谱仪测&#xff09;天线口功率&#xff08;用功率计测&#xff09;载波功率是以RBW为单位的filter测量的积分功率不同带宽的多载波测试时…

CAP 角度下的 Redis 与 Zookeeper 锁架构比较

在分布式系统设计中&#xff0c;CAP理论提供了一个重要的框架&#xff0c;帮助我们理解在一致性、可用性和分区容忍性之间的权衡。在这篇博客中&#xff0c;我们将从CAP的角度出发&#xff0c;比较Redis与Zookeeper在锁架构上的异同。 Redis锁架构&#xff1a; 一致性&#x…

java垃圾回收GC过程

GC&#xff08;Gabage Collection&#xff09; 用于回收堆中的垃圾数据 清理方法 1.标记-清理 对数据标记&#xff0c;然后清理 缺点&#xff1a;容易产生内存碎片 2.标记-整理 对标记后的数据清理&#xff0c;剩下数据前移 缺点&#xff1a;每次清理后数据都要迁移&#xff0…

JAVA算法-查找

目录 基本查找*&#xff1a; 二分查找*&#xff1a; 数据单调递增&#xff1a; 数据单调递减&#xff1a; 总结规律&#xff1a; 插值查找*&#xff1a; 斐波那契查找&#xff08;了解原理&#xff09;&#xff1a;以后补 分块 查找*&#xff1a; 特殊 情况&#xff0…