试题 历届真题 循环小数【第十一届】【决赛】【Python】
试题 历届真题 循环小数【第十一届】【决赛】【Python】
题目来源:第十一届蓝桥杯决赛
http://lx.lanqiao.cn/problem.page?gpid=T2891
资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
【问题描述】
已知S是一个小于1的循环小数,请计算与S相等的最简真分数是多少。
例如 0.333··· 等于131\over{3}31 , 0.1666··· 等于161\over 661。
【输入格式】
输入第一行包括两个整数 ppp 和 qqq ,表示 SSS 的循环节是小数点后第 ppp 位到第 qqq 位。
第二行包含一个 qqq 位数,代表 SSS 的小数部位前 qqq 位。
【输出格式】
输出两个整数,用一个空格隔开,分别表示答案的分子和分母。
【样例输入】
1 6
142857
【样例输出】
1 7
解题
循环小数 [源于百度]
循环小数(circulating decimal),是指一个数的小数部分从某一位起,一个或几个数字依次重复出现的无限小数。
循环小数会有循环节(循环点),并且可以化为分数。
循环小数转分数 [源于百度]
纯循环小数
将纯循环小数改写成分数,分子是一个循环节的数字组成的数;分母各位数字都是9,9的个数与循环节中的数字的个数相同.
例如:0.111…=1/9、0.12341234…=1234/9999
混循环
将混循环小数改写成分数,分子是不循环部分与第一个循环节连成的数字组成的数,减去不循环部分数字组成的数之差;分母的头几位数字是9,末几位数字是0,9的个数跟循环节的数位相同,0的个数跟不循环部分的数位相同.
例如:0.1234234234…=(1234-1)/9990 0.55889888988898…=(558898-55)/999900
代码
import fractionsp,q = map(int,input().split()) # 第p位到第q位是循环节
num = input() # 小数部分(小数点后一位到第一个循环节最后一位)
repeat_len = q-p+1 # 循环节的位数
num_len = len(num) # 小数部分的长度 = 非循环部分长度+一个循环节长度(repeat_len)
num = int(num) # input()输入的数据,默认以str类型接收
numerator,denominator=1,1 # 分子,分母if repeat_len == num_len: # 纯循环小数(循环从第1位开始)# 分子是一个循环节的数字组成的数numerator = num # 分母各位数字都是9,9的个数与循环节中的数字的个数相同denominator = 10**num_len-1
else: # 混循环小数# 分子是非循环部分与第一个循环节连成的数字组成的数,减去非循环部分数字组成的数之差numerator = num - num // (10**(repeat_len)) # 分母的头几位数字是9,末几位数字是0,9的个数跟循环节的数位相同,0的个数跟不循环部分的数位相同.denominator = (10**repeat_len-1) * (10**(p-1)) # Fraction(arg1,arg2)可以将将arg1/arg2化简为最简分数的形式
print(*str(fractions.Fraction(numerator,denominator)).split('/')) # split('/')是根据字符串中的'/'将字符串分隔开
# *:解包,将list中的元素按元素输出,输出就不会带 "[" , "]"和","
总结
1、最关键是知道循环小数转分数的规则。如果不知道这个规则,基本解不出来。
2、使用fractions里的Fraction()将分数为最简分数形式。当然可以用辗转相除法,但使用python应该学会使用一些包(蓝桥杯可以使用的,笔者在蓝桥杯练习系统中可以使用),不然用python的优势就体现不出。
相关文章:
试题 历届真题 循环小数【第十一届】【决赛】【Python】
试题 历届真题 循环小数【第十一届】【决赛】【Python】 题目来源:第十一届蓝桥杯决赛 http://lx.lanqiao.cn/problem.page?gpidT2891 资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制ÿ…...
关于类型转换
隐式转换先看个例子int a {500}; unsigned b {1000}; std::cout<<a-b;这里的输出结果并不为-500。因为最后输出结果的类型自动转换成了unsigned,unsigned是正整数型类型转换顺序表(由高到低)long doubledoublefloatunsigned long long long longunsigned long…...
蓝桥杯冲击-02约数篇(必考)
文章目录 前言 一、约数是什么 二、三大模板 1、试除法求约数个数 2、求约数个数 3、求约数之和 三、真题演练 前言 约数和质数一样在蓝桥杯考试中是在数论中考察频率较高的一种,在省赛考察的时候往往就是模板题,难度大一点会结合其他知识点考察&#x…...
122.(leaflet篇)leaflet地图图片之间存在缝隙
听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 存在缝隙–效果如下所示: 解决缝隙–效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <!DOCTYPE html>…...
4.类的基本概念
目录 4.1 类的概述 类是一种活动的数据结构 4.2 程序和类:一个快速实例 4.3 声明类 4.4 类成员 4.4.1 字段 1.显示和隐式字段初始化 2. 声明多个字段 4.4.2 方法 4.5 创建变量和类的实例 4.6 为数据分配内存 合并这两个步骤 4.7 实例成员 4.8 访问修饰…...
有图解有案例,我终于把 Condition 的原理讲透彻了
哈喽大家好,我是阿Q! 20张图图解ReentrantLock加锁解锁原理文章一发,便引发了大家激烈的讨论,更有小伙伴前来弹窗:平时加解锁都是直接使用Synchronized关键字来实现的,简单好用,为啥还要引用Re…...
Linux之找回root密码
文章目录前言一、启动系统二、进入编辑界面三、修改密码前言 当我们使用root用户登陆Linux时,忘记了登陆密码,改怎样修改登陆密码呢,接下来将介绍如何修改root密码 一、启动系统 首先,启动系统,进入开机界面&#x…...
stack_queue | priority_queue | 仿函数
文章目录1. stack 的使用2. stack的模拟实现3. queue的使用4. queue的模拟实现5. deque ——双端队列deque优缺点6. priority_queue ——优先级队列1. priority_queue的使用2. priority_queue的模拟实现push——插入pop ——删除top —— 堆顶仿函数问题完整代码实现1. stack 的…...
第十四届蓝桥杯三月真题刷题训练——第 14 天
目录 第 1 题:组队 题目描述 运行限制 代码: 第 2 题:不同子串 题目描述 运行限制 代码: 思路: 第 3 题:等差数列 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码: 思…...
【Hadoop-yarn-01】大白话讲讲资源调度器YARN,原来这么好理解
YARN作为Hadoop集群的御用调度器,在整个集群的资源管理上立下了汗马功劳。今天我们用大白话聊聊YARN存在意义。 有了机器就有了资源,有了资源就有了调度。举2个很鲜活的场景: 在单台机器上,你开了3个程序,分别是A、B…...
技术掉:PDF显示,使用pdf.js
PDF 显示 场景: 其实直接显示 pdf 可以用 iframe 标签,但产品觉得浏览器自带的 pdf 预览太丑了,而且无法去除那些操作栏。 解决方案:使用 pdf.js 进行显示 第一步:引入 pdf.js 去官网下载稳定版的 pdf.js 文件 然后…...
有关pytorch的一些总结
Tensor 含义 张量(Tensor):是一个多维数组,它是标量、向量、矩阵的高维拓展。 创建 非随机创建 1.用数组创建 将数组转化为tensor np.ones([a,b]) 全为1 #首先导入PyTorch import torch#数组创建 import numpy as np anp.arr…...
基础IO【Linux】
文章目录:文件相关知识C语言文件IOstdin & stdout & stderr系统文件 IOopenclosewriteread文件描述符文件描述符的分配规则重定向dup2系统调用FILEFILE中的文件描述符FILE中的缓冲区理解文件相关知识 文件 文件内容 文件属性(每一个已经存在的…...
Vue3——自定义封装上传图片样式
自定义封装上传图片样式 一、首先需要新建一个自组建完善基础的结构,我这里起名为ImgUpload.vue <el-upload name"file" :show-file-list"false" accept".png,.PNG,.jpg,.JPG,.jpeg,.JPEG,.gif,.GIF,.bmp,.BMP" :multiple"…...
ChatGLM-6B (介绍以及本地部署)
中文ChatGPT平替——ChatGLM-6BChatGLM-6B简介官方实例本地部署1.下载代码2.通过conda创建虚拟环境3.修改代码4.模型量化5.详细代码调用示例ChatGLM-6B 简介 ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构&…...
react的基础使用
react中为什么使用jsxReact 认为渲染逻辑本质上与其他 UI 逻辑内在耦合,比如,在 UI 中需要绑定处理事件、在某些时刻状态发生变化时需要通知到 UI,以及需要在 UI 中展示准备好的数据。react认为将业务代码和数据以及事件等等 需要和UI高度耦合…...
letcode 4.寻找两个正序数组的中位数(官方题解笔记)
题目描述 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 1.二分查找 1.1思路 时间复杂度:O(log(mn)) 空间复杂度:O(1) 给定…...
【面试题系列】K8S常见面试题
目录 序言 问题 1. 简单说一下k8s集群内外网络如何互通的吧 2.描述一下pod的创建过程 3. 描述一下k8s pod的终止过程 4.Kubernetes 中的自动伸缩有哪些方式? 5.Kubernetes 中的故障检测有哪些方式? 6.Kubernetes 中的资源调度有哪些方式ÿ…...
字符函数和字符串函数(上)-C语言详解
CSDN的各位友友们你们好,今天千泽为大家带来的是C语言中字符函数和字符串函数的详解,掌握了这些内容能够让我们更加灵活的运用字符串,接下来让我们一起走进今天的内容吧!写这篇文章需要在cplusplus.com上大量截图,十分不易!如果对您有帮助的话希望能够得到您的支持和帮助,我会持…...
全连接神经网络
目录 1.全连接神经网络简介 2.MLP分类模型 2.1 数据准备与探索 2.2 搭建网络并可视化 2.3 使用未预处理的数据训练模型 2.4 使用预处理后的数据进行模型训练 3. MLP回归模型 3.1 数据准备 3.2 搭建回归预测网络 1.全连接神经网络简介 全连接神经网络(Multi-Layer Percep…...
Fillinger:设计自动化时代的效率提升工具
Fillinger:设计自动化时代的效率提升工具 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 核心价值:从机械操作到创意释放的设计革命 核心价值:让…...
FLUX.1-dev开源镜像部署教程:像素幻梦免配置环境3步快速上手
FLUX.1-dev开源镜像部署教程:像素幻梦免配置环境3步快速上手 1. 像素幻梦简介 像素幻梦(Pixel Dream Workshop)是一款基于FLUX.1-dev扩散模型构建的像素艺术生成工具。它采用独特的16-bit像素风格界面设计,为创作者提供沉浸式的AI绘图体验。 与传统AI…...
从PTA天梯赛L1真题看起:新手如何用C++快速搞定编程竞赛里的“送分题”?
从PTA天梯赛L1真题看起:新手如何用C快速搞定编程竞赛里的“送分题”? 第一次参加编程竞赛的新手,面对屏幕上密密麻麻的题目,往往会感到无从下手。但仔细观察历届PTA天梯赛L1级别的题目,你会发现一个有趣的现象——总有…...
Python离线环境搭建全攻略:从虚拟机到生产服务器的完整迁移方案
Python离线环境搭建全攻略:从虚拟机到生产服务器的完整迁移方案 在金融、军工等对网络安全要求极高的行业,服务器通常运行在完全隔离的离线环境中。这种环境下,如何部署Python运行环境并确保所有依赖库正常工作,成为许多运维工程师…...
CentOS 7.9 上TDengine 3.0.4.2 二进制安装避坑指南:从下载到压测一条龙
CentOS 7.9 上TDengine 3.0.4.2 二进制安装实战:从零部署到百万级压测全解析 时序数据库正在成为物联网、工业互联网和金融监控等场景的核心基础设施。作为国产时序数据库的佼佼者,TDengine以其卓越的写入性能和压缩比,正在全球范围内获得越…...
FreeRTOS内存管理实战:如何在Xilinx Zynq上正确配置堆大小避免Malloc失败
FreeRTOS内存管理实战:Xilinx Zynq平台堆配置与优化指南 在嵌入式系统开发中,内存管理往往是决定系统稳定性的关键因素之一。当你在Xilinx Zynq平台上使用FreeRTOS时,突然遇到vApplicationMallocFailedHook()被调用的错误提示,这就…...
探索CLIP-ViT-H-14:5大突破重新定义多模态AI应用
探索CLIP-ViT-H-14:5大突破重新定义多模态AI应用 【免费下载链接】CLIP-ViT-H-14-laion2B-s32B-b79K 项目地址: https://ai.gitcode.com/hf_mirrors/laion/CLIP-ViT-H-14-laion2B-s32B-b79K 你是否想过让计算机像人类一样同时理解图像和文字?CLI…...
Mac 系统高效安装 ChatGPT 全攻略:从环境配置到性能优化
在 Mac 上折腾 ChatGPT 的安装,尤其是想跑个本地化的 CLI 工具或者集成到自己的项目里,相信不少朋友都踩过坑。原生安装方式看似简单,但 Python 版本管理混乱、依赖包冲突、系统权限问题,常常让一个简单的 pip install openai 变成…...
基于动态三维环境下的Q-Learning算法无人机自主避障路径规划研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
颈肩痛分急性和慢性,对症缓解才有效
颈肩痛并非单一症状,根据发病时间和诱因,可分为急性颈肩痛和慢性颈肩痛,两者的缓解和治疗方式差异显著,找对方法才能快速摆脱疼痛困扰。急性颈肩痛多由外伤、运动不当、落枕等引起,疼痛剧烈且突然发作,常伴…...
