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)
上一篇 2022年2月1日 上午7:00
下一篇 2022年2月1日 上午8:00


相关推荐

  • 不是单组分组函数

    不是单组分组函数问题:一:SELECT tablespace_name, SUM(bytes) freeFROM dba_free_space不是单组分组函数原因: 1、如果程序中使用了分组函数,则有两种情况可以使用:程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来改为:  SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spa…

    2022年6月30日
    32
  • 常用代码托管工具

    常用代码托管工具常用代码托管工具 1 Github2 Gitlab1 GithubGithub 简介由 Git 著名的 Git 版本控制软件 和 Hub 中心 的意思 两个词合成 Github 全球最大的开源项目聚集地 到目前为止 Github 汇集了全球 7300 万开发者 4000 万组织机构 2 亿代码仓库 Github 地址 https github com Github 收费模式 https www shouce ren api view a 99492 Gitlab

    2026年3月18日
    2
  • 统计学—之样本方差与总体方差的区别[通俗易懂]

    统计学—之样本方差与总体方差的区别[通俗易懂]前段日子重新整理了一下这个问题的解答,跟大家分享一下,如果有什么错误的话希望大家能够提出来,我会及时改正的,话不多说进入正题:首先,我们来看一下样本方差的计算公式:                           刚开始接触这个公式的话可能会有一个疑问就是:为什么样本方差要除以(n-1)而不是除以n?为了解决

    2025年6月22日
    6
  • Manus在线登录入口无法访问?

    Manus在线登录入口无法访问?

    2026年3月15日
    2
  • HikariPool配置详解

    HikariPool配置详解HikariPool较佳配置 hikari: connection-timeout:60000 validation-timeout:3000 idle-timeout:60000 login-timeout:5 max-lifetime:60000 maximum-pool-size:10 minimum-idle:10 read-only:falsehikari各参数解释https://github.com/.

    2022年6月23日
    447
  • 【转载】关于Hash

    【转载】关于Hash

    2021年11月20日
    52

发表回复

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

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