uva 10555 – Dead Fraction)(数论)

uva 10555 – Dead Fraction)(数论)

大家好,又见面了,我是全栈君。

题目链接:uva 10555 – Dead Fraction

题目大意:给出一个小数,从…開始能够是不论什么数字,可是保证是无限循环小数。将该小数用分式的形式表示,而且要求分母尽量大。

解题思路:这题主要是怎么将无限循环小数转换成分式,这种:

  • 有小数0.abcdEEE,未循环部分长4。循环节为E,E的长度为i(如果)
  • abcd+E999(i910i
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;
typedef long long ll;
const int maxn = 105;
const ll INF = 0x3f3f3f3f3f3f3f;

char s[maxn];

ll gcd (ll a, ll b) {
    return b ?

gcd(b, a%b) : a; } int main () { while (scanf("%s", s) == 1 && strcmp(s, "0")) { int len = strlen(s)-5; ll ansu, ansd = INF; for (int i = 0; i < len; i++) s[i] = s[i+2]; for (int i = 0; i < len; i++) { ll d = 1, u = 0; for (int j = 0; j < i; j++) { d = d * 10; u = u * 10 + s[j] - '0'; } ll x = 0, y = 0; for (int j = i; j < len; j++) { x = x * 10 + s[j] - '0'; y = y * 10 + 9; } d = d * y; u = u * y + x; ll g = gcd(d, u); u /= g; d /= g; if (d < ansd) { ansd = d; ansu = u; } } printf("%lld/%lld\n", ansu, ansd); } return 0; }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115675.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • input file读取文件

    input file读取文件js读取inputfile文件的两种方式:&lt;divid="localImag"&gt;&lt;imgid="preview"src=""width="150"height="180"style="display:block;width:150px;height:180px;"&gt;&lt;

    2022年7月17日
    15
  • mybatiscodehelper激活码【2021最新】

    (mybatiscodehelper激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/ide…

    2022年3月27日
    52
  • SpringCloud Alibaba完整使用

    SpringCloud Alibaba完整使用搭建AlibabaCloud首先搭建几个环境全部在Linux下1、nacos注册中心2、sentinel流量控制,断路3、apache-skywalking-apm-bin监控接口的速度、效率等等4、Rocketmq的使用项目如下在这里插入代码片首先创建pom工程***Alibaba-Cloud***|<?xmlver……

    2022年6月27日
    39
  • pycharm是下载社区版本的还是专业版本_pycharm免费版和专业版

    pycharm是下载社区版本的还是专业版本_pycharm免费版和专业版好多初用pycharm的朋友,不知道PyCharm专业版和PyCharm社区版的区别,总体而说pycharmpro2019mac是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。…

    2022年8月29日
    4
  • JVM 关于静态变量存储位置的问题[通俗易懂]

    JVM 关于静态变量存储位置的问题[通俗易懂]形如staticList<>a=newList<>();我知道a指向的List的对象肯定是在堆内存中,但a本身它存放在哪儿?java8后,永久代已经被移除,被称为“元数据区”的区域所取代。类的元数据放入nativememory,字符串池和类的静态变量放入java堆中,静态变量初始化就在堆,a就在堆中。…

    2022年6月6日
    42
  • 计算机发展史资料简介,计算机发展史简介「建议收藏」

    计算机发展史资料简介,计算机发展史简介「建议收藏」人类所使用的计算工具是随着生产的发展和社会的进步,有着从简单到复杂、从低级到高级的发展过程,计算工具相继出现了如算盘、计算尺、手摇机械计算机、电动机械计算机等。1946年,世界上第一台电子数字计算机(ENIAC)在美国诞生。这台计算机共用了18000多个电子管组成,占地170m2,总重量为30t,耗电140kw,速度达到每秒能进行5000次加法、300次乘法运算。电子计算机在短短的50多年里经过了…

    2022年10月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号