USACO 2.4.5 Fractions to Decimals

JZOJ1275.【USACO题库】2.4.5 Fractions to Decimals分数化小数 题目描述写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式。如果小数有循环节的话,把循环节放在一对圆括号中。例如,1/3 = .33333333 写成0.(3)41/333 = 0.123123123… 写成0.(123)用xxx.0 成表示整数典型的转化例子:1/3 = 0.(3)22/5 = 4.41/7 = 0.(142857)2/2 = 1.03/8 = 0.375 阅读详情
以前做过这题,没什么特别思路,手工模拟除法即可。
问题是这蛋疼的输出格式,让我纠结了好久。
偶然看到了一个叫sprintf的逆天的东西!居然写到了50行以内啊!
庆祝一下~

C++语言: 2.4.5 fracdec
/*
PROG:fracdec
LANG:C++
*/
#include <cstdio>
#include <cstring>

using namespace std;

const int MAXDIGIT = 100010;
char ans[MAXDIGIT];
char dec[MAXDIGIT];
int last[MAXDIGIT];

int num, den, rem, k;

int main()
{
   freopen("fracdec.in", "r", stdin);
   freopen("fracdec.out", "w", stdout);
   memset(last, -1, sizeof(last));
   scanf("%d%d", &num, &den);
   sprintf(ans, "%d.", num/den);
   rem = num % den;
   for (int i = 0;;i++)
   {
       if (rem == 0)
       {
           if (i == 0)
               sprintf(ans+strlen(ans), "%d", 0);
           else
               sprintf(ans+strlen(ans), "%s", dec);
           break;
       }
       if (last[rem] != -1)
       {
           k = last[rem];
           sprintf(ans+strlen(ans), "%.*s(%s)", k, dec, dec+k);
           break;
       }
       last[rem] = i;
       num = rem * 10;
       dec[i] =  num/den + '0';
       rem = num % den;
   }
   for (int i = 0;i < strlen(ans);i += 76)
       printf("%.76s\n", ans+i);
}


开关电源环路补偿--开关电源进阶知识补充1 笔记 一 . 做开关电源环路补偿时候为了使得环路更加稳定。 1 .-- > 希望开关电源的相位裕量在45° 以上, 2. – > 希望开关电源的增益裕量在10db 以上 3. – > 希望开关电源增益曲线在过0db 时候以20db /dec 斜率下降(体现1个极点) 4. – > 希望开关电源补偿之后的带宽达到开关频率的是1/5 ~1/10,用以原理开关电源的开关噪音。 左边图示电源瞬态拉载和释放负载的时候输出电压存在明显的振铃,说明这个目前的环路相位裕量(phase m 阅读详情

相关推荐

ADS2023实战:手把手教你用Load-Pull设计40W LDMOS功率放大器(附工程文件)

本文以飞思卡尔MRF8P9040N LDMOS晶体管为例,详细介绍了在ADS 2023中设计一款40W功率放大器(PA)的全流程。内容涵盖从直流偏置设置、稳定性分析、核心的负载牵引(Load-Pull)仿真,到基于Smith圆图的匹配网络设计、谐波平衡性能验证,直至版图生成与优化。文章提供了手把手的实战指导和工程文件,旨在帮助射频工程师掌握高效率PA的设计方法与关键技巧。

cake8的博客 1072

USACO 2.4.5 Fractions to Decimals 题解

【算法】模拟  【难度】★☆☆☆☆ 这道题不难,关键是长除法。手动模拟一下长除法就会发现,小数部分循环的标志是余数的重复出现。所以记录余数就可以了。注意一下整除的特殊情况就可以了,我因为这个WA了一次。【收获】要注意特判 View Code 1 /* 2 ID: wsc5001 3 LANG: C 4 TASK: fracdec 5 */ 6 #include &lt...

aigai2119的博客 131

PCB布线避坑指南:晶振布局的5个致命错误(附正确示例图)

本文深入解析PCB布线中晶振布局的5个致命错误,包括底层布线、电容布局、地平面处理等关键问题,并提供实战解决方案。通过真实案例和量化数据,帮助硬件开发者避免常见陷阱,提升电路稳定性和性能。特别针对晶振这一高敏感元件,给出布线参数黄金法则和三维避让原则。

weixin_29215391的博客 428

usaco——fractions to Decimals

Fractions to DecimalsWrite a program that will accept a fraction of the form N/D, where N is the numerator and D is the denominator and print the decimal representation. If the decimal representatio

coder notebook 749

abaqus应力值导出并进行后处理(同一节点多个应力值如何处理?)

Abaqus应力导出: ‘Tools’--- Probe values 在Probe Values里面可以选择需要导出的信息,比如‘Nodes’或者‘Elements’ 如果需要导出多个应力值或者其他信息可以选择‘Components’这个选项。 选择‘Selected’只输出一个正应力S33(对应截图中的) 如果是‘All Direct’,则是输出6个正应力S11, S22, S33, S12, S13, S23 ‘All Principals’输出三个正应力 在输出...

themingyi的博客 5万+

hcaptcha-challenger:基于本地AI模型自动破解验证码的工程实践

验证码作为区分人类与机器的经典安全机制,其核心原理是通过图像识别、行为分析等交互式挑战来阻挡自动化程序。传统绕过方法依赖第三方打码平台或脚本,存在成本高、稳定性差的问题。随着多模态大语言模型和计算机视觉技术的发展,本地化AI求解成为新的技术方向,它通过集成YOLO、ResNet等模型,在本地完成图像语义理解,实现了高隐私、低成本、可进化的验证码自动化解决方案。这种范式尤其适用于需要大规模稳定处理网页交互的场景,如电商数据采集和社交媒体管理。hcaptcha-challenger项目正是这一理念的工程实践,它

weixin_42587866的博客 1026

USACO - 2.4.5 - Fractions to Decimals

  原创文章转载请注明出处 摘要:模拟 , 数论 , 两星 一. 题目翻译 1. 描述: 写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式。 如果小数有循环节的话,把循环节放在一对圆括号中。 例如, 1/3 =0.33333333 写成0.(3), 41/333 = 0.123123123... 写成0.(12...

12312312341234 222

STM32CubeMX——循迹传感器TCRT5000的使用

前言 人生如逆旅,我亦是行人。 ————苏轼《临江仙·送钱穆父》 一、介绍 TCRT5000描述:(带有晶体管输出的反射光学传感器) TCRT5000是一种反射式光学传感器,它包括一个红外发射器和一个3.5mm引线封装的光电晶体管,可阻挡可见光。还具有1mA 典型被测输出电流,2.5mm峰值工作距离,可应用传感与仪表,工业等行业。 TCRT5000具有紧凑的结构,其中发射光源和探测器布置在同一方向,通过使用来自物体的反射红外光束来感知物体的存在。工作波长为950毫米,探测器由光电晶体管组成

W_Oilpicture的博客 1万+

【USACO题库】2.4.5 Fractions to Decimals分数化小数

写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式。 如果小数有循环节的话,把循环节放在一对圆括号中。例如, 1/3 = .33333333 写成0.(3) 41/333 = 0.123123123... 写成0.(123) 用xxx.0 成表示整数 典型的转化例子: 1/3 = 0.(3) 22/5 =

cdy1206473601的博客 892

CentOS 环境 sngrep 安装及使用

在呼叫中心类应用开发过程中,经常需要对 SIP 信令抓包,分析排查问题。通常抓包的工具非常多样,如 Wireshark、tcpdump、ngrep 等都是可选项,但是针对 SIP 信令的抓包,sngrep 则更为好用。因为 sngrep 不仅提供了图形界面,还会将一通会话的 SIP 信令关联汇总,非常直观执行以下命令下载 的相关依赖库 1.2 添加 sngrep 的源并导入 执行下面的命令新增一个源仓库配置文件 然后在该文件中写入以下配置内容 执行命令导入源仓库的公钥 1.3 安装 sngrep

谈谈1974 8148

利用LATX技术在龙芯安同AOCS OS上部署坚果云:跨架构文件同步实战

本文详细介绍了如何在龙芯安同AOCS OS上,利用LATX指令翻译技术部署坚果云客户端,实现跨架构文件同步。通过安装LATX环境、解压x64安装包、运行安装脚本三步,成功在loongarch64架构上运行仅支持x86_64的软件,解决了国产平台办公协同的痛点,并分享了性能实测与优化建议。

weixin_29305337的博客 457

USACO - Fractions to Decimals(分数化小数找循环节)

题目链接:USACO - Fractions to Decimals之前做过小数化分数的题: 这次是分数 a/ba/b 化小数。 首先我们可以处理出整数部分 a/ba/b 。 考虑到小学算除法的方法“长除法”。我们可以发现,当算到某一步时,这个余数在之前出现过,那么说明找到了循环节。如: 41/333=0......4141/333=0......41 410/333=1......774

On the way 1016

Python调用CANoe(1)(启动与停止,变量和信号读写)

CANoe因为其封闭性(Vector独有),开发的时候,有很多局限性;Python 因为其开源,容易上手,功能强大,那么Python 和 CANoe结合会产生怎样的火花呢?

蚂蚁小兵 4万+

Fractions to Decimals_usaco2.4.5_暴力

题目描述 Description写一个程序,输入一个形如 N/D 的分数(N 是分子,D 是分母),输出它的小数形式。 如果小数有循环节的话,把循环节放在一对圆括号中。例如, 1/3 = .33333333 写成 0.(3) 41/333 = 0.123123123… 写成 0.(123) 用 xxx.0 成表示整数 典型的转化例子: 1/3 = 0.(3) 22/5 = 4.4 1

olahiuj的博客 668

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

USACO 2.4.5 分数化小数 Fractions to Decimals

题解 想出来的解法比较暴力。 前提知识:能够用整数表示出的小数都是有理数,所以不会存在无限不循环小数(无理数)。 判断是否无限循环,遍历小数点后100-200位若全是0那肯定不是无限小数 ( 确实存在后面这么多0的无限小数,但不在题目数据范围内 ),否则肯定无限。 若无限循环就要找环,环长怎么样?从头到尾数相同,暴力遍历即可。 最后注意 N 要开大点。 Code // head ...

蟋蟀的博客 570

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

USACO2.4.5 Fractions to Decimals 分数化小数(模拟)

Description 写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式。 如果小数有循环节的话,把循环节放在一对圆括号中。例如, 1/3 = .33333333 写成0.(3) 41/333 = 0.123123123… 写成0.(123) 用xxx.0 成表示整数 典型的转化例子: 1/3 = 0.(3) 22/5 = 4.4 1/7 = 0.(142857) 2/...

bestsort 758

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

USACO2.4.5 Fractions to Decimals (fracdec)

这道题有三个特点:恶心。 当然如果有点耐心的话还是挺水的,就是模拟模拟模拟。 /* ID:shijiey1 PROG:fracdec LANG:C++ */ #include #include #include #include #include using namespace std; int a, b; vector num; map, int> done; int main

Shion的专栏 492

USACO 2.4.5 Fractions to Decimals 不知道什么算法

Fractions to Decimals Write a program that will accept a fraction of the form N/D, where N is the numerator and D is the denominator and print the decimal representation. If the decimal representat

202

【USACO题库】2.4.5 Fractions to Decimals分数化小数 题解

该程序将分数N/D转换为小数形式,处理循环节并按要求格式化输出。对于形如N/D的输入,先计算整数部分,然后处理余数部分。通过记录余数出现位置来判断循环节,在循环节开始处插入括号。输出时每行不超过76个字符,确保符合格式要求。样例输入45/56输出0.803(571428),展示了整数部分、小数部分和循环节表示。程序能正确处理整数、有限小数和无限循环小数的情况。

cjm0230_yyds的博客 206

USACO training 2.4.5 Fractions to Decimals题解

嗯...用到一个定理,对于一个最简分数n/d,d=(2^x)*(5^y)*m,m≠1,那么其循环节长度为使10^L mod m==1的最小的L,不循环长度为max(x,y) 然后这题就没什么了。。 76个字符一换行比较坑,我用了stringstream... 1 #include<iostream> 2 #include<sstream> 3 #in...

weixin_30387663的博客 111

USACO 2.4 Fractions to Decimals

题意:给2个数字,输出a/b的值,如果结果是整数就输出结果.0,如果在小数不是无限的小数,就输出如22 5 输出4.4, 但是如果是无穷循环小数如10 3 就输出3.(3),把循环输出的用括号括起来。 由除法的逻辑可以知道,如果除数相同,被除数不变的话,那么除的结果一定相同,根据这个原理,把出现被除数丢到一个数组中进行标记,标记为其第一次出现的位子, 那么第二次出现的时候break这个循环,

yeleng的博客 471

USACO section2.4 Fractions to Decimals题解&代码

这道模拟倒是出乎意料地顺利… 只是大错不犯小错不断…比如忘记76位换行啊…比如前导零忘记算进位数里啊… 恩总之交了3次才A掉… 关于loop的小技巧就是将原分数化简后分母的因子中5的个数与2的个数的较大值为小数部分的非循环位数,这样只要在计算循环部分时遇到余数相同的情况就可以直接结束了/* ID:rainbow16 LANG:C++ TASK:fracdec */ #include<iostr

Rainbow6174's home 734

1439: 2.4.5 Fractions to Decimals 分数化小数

1439: 2.4.5 Fractions to Decimals 分数化小数 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 335  Solved: 75 [Submit][Status][Web Board] Description 写一个程序,输入一个形如N/D的分数(N是分子,D是分母),输出它的小数形式。 如果小数有循

你就是根号四的博客 693
上一篇: USACO 1.4.1 Packing Rectangles
下一篇: USACO 3.1.3 Humble Numbers
devillaw_zhc
博客等级 码龄15年 4粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值