#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
// 手动实现 GCD 函数
int gcd(int a, int b) {
while (b != 0) {
int t = b;
b = a % b;
a = t;
}
return a;
}
// 函数用于计算分数
void decimalToFraction(double decimal, int cycleLength) {
if (cycleLength == 0) {
// 当没有循环节时
int denominator = 1;
while (decimal != static_cast<int>(decimal)) {
decimal *= 10;
denominator *= 10;
}
int numerator = static_cast<int>(decimal);
// 约分
int divisor = gcd(numerator, denominator);
numerator /= divisor;
denominator /= divisor;
cout << "分数形式: " << numerator << "/" << denominator << endl;
} else {
// 当有循环节时
string cycle;
cout << "请输入小数的循环节(不带小数点): ";
int temp3;
cin>>temp3;
cycle=temp3;
int temp=pow(10,cycleLength);
float d2=decimal*temp+decimal;
float temp2=d2-decimal;
for(int i=temp3;i>0;i--){
if((temp-1)%i==0&&temp3%i==0){
temp=(temp-1)/i;
temp3=temp3/i;
break;
}
}
cout<<temp3<<"/"<<temp;
}
}
int main() {
double decimal;
int cycleLength;
cout << "请输入一个小数: ";
cin >> decimal;
cout << "请输入小数的循环节长度(没有循环节输入0): ";
cin >> cycleLength;
decimalToFraction(decimal, cycleLength);
return 0;
}
相关推荐
游戏开发实战:5种AOI算法对比(九宫格 vs 灯塔 vs 十字链表)
本文深入对比了游戏开发中五种主流AOI算法(九宫格、灯塔、十字链表等)的性能与适用场景,帮助开发者根据项目规模选择最优解决方案。通过详细的技术分析和实战数据,揭示不同算法在万人同屏等极端场景下的表现差异,为MMORPG等大型多人在线游戏提供关键性能优化指南。
小数转换分数
这是一个C语言的程序,但是也可以用c++中的类去写,并且用c++,中的类去写还会有可以对我们的数可以运算的优点,我将会贴出我的两种算法。 第一种:C语言形式 #include <iostream> #include <malloc.h> using namespace std; /*用包括main函数在内的多个函数,实现小数到分数的转换: 向字符数组输入一个大于0的有限纯小数,输出其最简分数(例如,输入0.4,输出2/5;输入0.0125,输出1/80。小数部分不超过8位),
基于浏览器插件的拼多多买家订单导出方法
基于浏览器插件的拼多多买家订单导出方法
小数化分数—字符串
分了右括号和没有括号两种,但是都是先计算“.”前面的值,将其转化成分数,然后再次计算后面的值转化成分数,然后把两个分数加起来,最后在用辗转相除法(即欧几里得法)求出最简分数的形式!任何小数都能表示成分数的形式,对于給定的小数,编写程序其化为最简分数输出,小数包括简单小数和循环小数。每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。则 x=692307/999999,代入运算式(*)经过通分约分处理后即可得到结果。对每一个对应的小数化成最简分数后输出,占一行。
Mann-Kendall检验全解析:从原理到11种变体及Python实现
本文全面解析Mann-Kendall检验,从基础原理到应对自相关、季节性等复杂数据的11种关键变体,如Hamed-Rao修正、季节性MK和趋势自由预白化(TFPW)。详细阐述各方法的适用场景与数学原理,并提供完整的Python实战代码,帮助研究者针对不同数据特性选择最稳健的趋势分析方法。
一文搞定3D卷积
在讨论卷积核的时候,是不把channel维加进去的 核 = 一个可以滑动的窗口 窗口内不同位置数据之间的权值共享 3D卷积,卷积核会在3个方向上运动,那么卷积核的运动需要有三个自由度(一小块立方体,在一个大面包块内3个方向上滑动 2D卷积,卷积核只在2个方向上运动,因此只有两个自由度(一小片纸,在一大张纸内2个方向上滑动 1D卷积,卷积核只在1个方向上运动,因此只有一个自由度(一条滑窗,在一大长线上1个方向上滑动 一个卷积核运算一次 得到一个输出值 以上讨论了单个卷积核,接下来考虑多通道,一个卷积核对应一
小数化分数
任何小数都能表示成分数的形式,对于給定的小数,编写程序其化为最简分数输出,小数包括简单小数和循环小数。每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。则 x=692307/999999,代入运算式(*)经过通分约分处理后即可得到结果。令 x=0.(692307), 那么 1000000x=692307+x。对每一个对应的小数化成最简分数后输出,占一行。第一行是一个整数N,表示有多少组数据。分数化简可用公约数进行。
芯片Tapeout前GDS Review | Calibre中如何切出gds中指定区域版图?
芯片Tapeout GDS Review 之Calibre中如何切出指定区域版图GDS
C-纯小数化分数
Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始化了起来,但小数很多,手工化起来很费劲,请你写一个程序把一个纯小数(0
SOC-ATF 安全启动BL2流程分析(2)
Bl2的启动流程与bl1类似,主要区别是bl2的初始化流程比bl1更简单,但其可能需要加载更多的镜像,如bl31、bl32和bl33。由于bl2可以运行于el3或s-el1,它们的入口函数和处理流程都有所区别,为了简化分析我们选取比较常见的s-el1方式,以下为其总体执行流程:上图仅供参考,实际看一下代码结构:上面截图展示了 链接汇编文件,bl2_el3.ld.S 是指bl2 运行于el3;bl2.ld.S 是实现bl2运行于s-el1 .
RV1126 MIPI CSI-2驱动RGB888图像采集的V4L2实战解析
本文详细解析了在RV1126平台上通过MIPI CSI-2接口采集RGB888格式图像的完整V4L2实战流程。核心内容包括设备树(DTS)配置、内核驱动适配、Media Controller链路调试,以及使用v4l2-ctl工具进行图像抓取与验证的方法,旨在帮助开发者打通从硬件连接到稳定采集RGB888图像数据的关键环节。
matlab草稿本,解读草稿本——这个学具,你可千万不能忽视
原标题:解读草稿本——这个学具,你可千万不能忽视全文共2262字,阅读大约需要5分钟良好的习惯是人在他的神经系统中所储存的资本,这个资本不断的增值,而人在其整个一生中就享受着它的利息。——俄国教育家乌申斯基草稿本对于很多同学来说并不陌生,但是很多同学对草稿本没有足够的认识,还有的同学想要做草稿本,却无从下手。应广大同学们的要求,今天君君就为大家带来草稿本干货一篇,希望你们看到以后能够受到一些启发。...
[SV]SystemVerilog学习笔记之struct & union
SystemVerilog学习笔记(四) 一、结构体(struct) 1.1、结构体(struct) 结构体声明:结构体默认是变量,也可以声明为线网 var struct{ //通过var进行结构体变量声明 logic [31:0] a, b; logic [ 7:0] opcode; } Instruction_Word_var; wire struct{ //结构体线网声明,定义为线网类型时,结构体的所有成员必须...
Jotchi智能草稿本:碎片信息记录与高效搜索的实用指南
在信息过载与多任务并行的工作环境中,如何低成本地捕获灵感、待办和临时信息,并确保后续能快速找回,是知识工作者普遍面临的痛点。智能草稿本作为传统笔记软件的补充形态,通过极速记录、自动解析与增强搜索,降低了信息采集的门槛。其核心原理在于将“记录”与“整理”解耦,让用户先随手存下,再借助语义分析、标签自动化和时间线回溯来提升检索效率。这类工具非常适合经常被打断、同时推进多个项目的人群,能够显著减少因切换上下文造成的信息遗漏。与此同时,数据存储位置、搜索准确率与同步机制也是选用前需要重点评估的环节。本文围绕智能草稿
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
智能草稿本如何捕捉灵感?从Jotchi看忙碌大脑的信息中转站
在信息碎片化的时代,临时想法和待办事项常因来不及归类而被遗漏。抓取工具的核心价值在于降低捕获成本,而智能草稿本(scratchpad)正是为此设计的关键组件。它通过极简输入与延迟整理机制,将工作记忆卸载到外部载体,从而减少认知负荷,提升信息捕捉效率。结合笔记软件与任务管理工具的使用习惯,智能草稿本可无缝嵌入个人工作流,充当灵感与待办的中转站。本文以Hacker News上的Jotchi项目为例,探讨这类智能草稿本如何平衡快速捕获与智能整理,并分析其长期使用中的边界与陷阱,为追求效率工具的读者提供参考。
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
用Python标准库从零实现Jotchi智能草稿本命令行工具
在快节奏的开发工作中,零散想法、临时待办和突发灵感极易被大脑遗忘,效率工具的核心价值在于“捕获”与“低成本取用”。智能草稿本正是为解决这一痛点而生,它强调低摩擦记录,同时通过自动标签、全文搜索和Markdown导出形成完整闭环。本文从概念与原理出发,分析草稿本如何从“便签”进化为“智能”工具,并深入技术实现,使用Python标准库与SQLite构建一个本地优先的Jotchi风格命令行速记工具,覆盖快速添加、自动分类、关键字检索与数据导出等核心能力。项目零第三方依赖,可直接运行,适合作为个人效率工具,也为扩展
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
Heynote完整指南:为什么每个开发者都需要这款终极草稿本工具
Heynote是一款专为开发者和高级用户设计的草稿本工具,它作为一个大型持久文本缓冲区,让你可以记录任何想要的内容。这款免费的开源工具支持多语言代码块语法高亮,是提升开发效率的必备神器。 作为一名开发者,你是否经常遇到以下困扰:需要临时测试一段代码但不想打开完整的IDE?想要记录API响应却担心误发到聊天窗口?需要整理会议笔记同时保持格式清晰?Heynote正是为解决这些问题而生! ## 🚀
个人草稿本
无
Flutter + 三方库在鸿蒙6.0上的开发实践:构建一款轻量级草稿本应用
本文介绍了如何在鸿蒙6.0设备上使用Flutter开发一个极简草稿本应用。项目基于Flutter鸿蒙适配版,集成了provider状态管理和shared_preferences本地存储功能,实现输入即保存的零干扰体验。文章详细讲解了环境配置(包括鸿蒙SDK和Flutter适配版安装)、项目初始化步骤,以及核心代码实现(数据模型、状态管理和UI构建)。该应用完美契合鸿蒙轻量化理念,可作为跨端技术验证的典型案例。开发者可通过此项目掌握鸿蒙平台Flutter开发的核心技能。
Flutter for OpenHarmony:用 Flutter 构建极简草稿本的工程实践与设计思考
Flutter for OpenHarmony:用 Flutter 构建极简草稿本的工程实践与设计思考
英语草稿本
1.常用名词 1.1.动物篇 1dog [dɔg] n.狗 I Love Dogs 我喜欢狗 Dogs are man's best friends 狗是人类最好的朋友 The dog is very cute 那条狗很可爱 知识扩展: puppy /pup‧py/ ['pʌpi] n.小狗 doggie /dog‧gie/ ['dɔgɪ] n.小狗 音标 i 和 I 是一个音标,I 比...
草稿本。。
a
我的草稿本
1:区分马可夫链模型和隐马可夫链的区别。 2:
CK草稿本
有一些可以勉强看出来,如layerout是列优先还是行优先(RowMajor/ColumnMajor)有一些比较抽象,如PassThrough。有一些比较好理解,如:半精度之类。
草稿本
https://zhuanlan.zhihu.com/p/162720047
474



被折叠的 条评论
为什么被折叠?



