N - Repeating Decimals

N - Repeating Decimals

The decimal expansion of the fraction 1/33 is 0.03, where the 03 is used to indicate that the cycle 03
repeats indefinitely with no intervening digits. In fact, the decimal expansion of every rational number
(fraction) has a repeating cycle as opposed to decimal expansions of irrational numbers, which have no
such repeating cycles.
Examples of decimal expansions of rational numbers and their repeating cycles are shown below.
Here, we use parentheses to enclose the repeating cycle rather than place a bar over the cycle.
fraction decimal expansion repeating cycle cycle length
1/6 0.1(6) 6 1
5/7 0.(714285) 714285 6
1/250 0.004(0) 0 1
300/31 9.(677419354838709) 677419354838709 15
655/990 0.6(61) 61 2
Write a program that reads numerators and denominators of fractions and determines their repeating
cycles.
For the purposes of this problem, define a repeating cycle of a fraction to be the first minimal length
string of digits to the right of the decimal that repeats indefinitely with no intervening digits. Thus
for example, the repeating cycle of the fraction 1/250 is 0, which begins at position 4 (as opposed to 0
which begins at positions 1 or 2 and as opposed to 00 which begins at positions 1 or 4).
Input
Each line of the input file consists of an integer numerator, which is nonnegative, followed by an integer
denominator, which is positive. None of the input integers exceeds 3000. End-of-file indicates the end
of input.
Output
For each line of input, print the fraction, its decimal expansion through the first occurrence of the cycle
to the right of the decimal or 50 decimal places (whichever comes first), and the length of the entire
repeating cycle.
In writing the decimal expansion, enclose the repeating cycle in parentheses when possible. If the
entire repeating cycle does not occur within the first 50 places, place a left parenthesis where the cycle
begins — it will begin within the first 50 places — and place ‘…)’ after the 50th digit.
Sample Input
76 25
5 43
1 397
Sample Output
76/25 = 3.04(0)
1 = number of digits in repeating cycle
5/43 = 0.(116279069767441860465)
21 = number of digits in repeating cycle
1/397 = 0.(00251889168765743073047858942065491183879093198992…)
99 = number of digits in repeating cycle

给出两个数字,计算它们相除的结果,并且算出循环的小数的个数,将循环的小数放在括号之内,当多于50时,用…代替

#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define MAXN
int y[3123], c[3111], v[3123];//y记录余数,c记录商,v记录某个余数是第几个出现的
int main()
{
    int n, m;
    while(~scanf("%d %d", &n, &m))
    {
        memset(y, 0, sizeof(y));
        memset(c ,0, sizeof(c));
        memset(v, 0, sizeof(v));
        int top = 1;
        printf("%d/%d = %d", n, m, n/m);
        n = n%m;
        while(n&&v[n]==0)
        {
            v[n] = top;
            y[top] = n;
            n = n * 10;
            c[top++] = n/m;
            n = n % m;
        }
        printf(".");
        for(int i=1;i<top&&i<=50;i++)
        {
            if(n&&n==y[i])
                printf("(");
            printf("%d", c[i]);
        }
        if(n==0)
            printf("(0");
        if(top>50)//余数大于50,用...代替
        {
            printf("...");
        }
        printf(")\n");
        printf("   %d = number of digits in repeating cycle\n\n", n?(top-v[n]):1);//如果a==0,长度为1,否则,长度为余数的总个数-不再循环之列的个数
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 智慧社区背景与挑战 随着城市化的快速发展,社区面临健康、安全、邻里关系和服务质量等多方面的挑战。华为技术有限公司提出智慧社区解决方案,旨在通过先进的数字化技术应对这些问题,提升城市社区的生活质量。 2. 技术推动智慧社区发展 技术进步,特别是数字化、无线化、移动化和物联化,为城市社区的智慧化提供了可能。这些技术的应用不仅提高了社区的运行效率,也增强了居民的便利性和安全性。 3. 智慧社区的核心价值 智慧社区承载了智慧城市的核心价值,通过全面信息化处理,实现对城市各个方面的数字网络化管理、服务与决策功能,从而提升社会服务效率,整合社会服务资源。 4. 多层次、全方位的智慧社区服务 智慧社区通过构建和谐、温情、平安和健康四大社区模块,满足社区居民的多层次需求。这些服务模块包括社区医疗、安全监控、情感沟通和健康监测等。 5. 智慧社区技术框架 智慧社区技术框架强调统一平台的建设,设立数据中心,构建基础网络,并通过分层建设,实现平台能力及应用的可持续成长和扩展。 6. 感知统一平台与服务方案 感知统一平台是智慧社区的关键组成部分,通过统一的RFID身份识别和信息管理,实现社区服务的智能化和便捷化。同时,提供社区内外监控、紧急救助服务和便民服务等。 7. 健康社区的构建 健康社区模块专注于为居民提供健康管理服务,通过整合医疗资源和居民接入,实现远程医疗、慢性病管理和紧急救助等功能,推动医疗模式从治疗向预防转变。 8. 平安社区的安全保障 平安社区通过闭路电视监控、防盗报警和紧急求助等技术,保障社区居民的人身和财产安全,实现社区环境的实时监控和智能分析。 9. 温情社区的情感沟通 温情社区着重于建立社区居民间的情感联系,通过组织社区活动、一键呼叫服务和互帮互助平台,增强邻里间的交流和互助。 10. 和谐社区的资源整合 和谐社区作为社会资源的整合协调者,通过统一接入和身份识别,实现社区信息和服务的便捷获取,提升居民生活质量,促进社区和谐。
repeating-linear-gradient是CSS3中的一个线性渐变函数,用于创建在一个方向上重复出现的线性渐变效果。通过设置渐变的起始和结束位置、颜色以及重复的方式,可以创建出多种不同的渐变效果,如横向渐变、纵向渐变、对角线渐变等。它可以通过在CSS中的background属性中使用来应用到元素上。没问题,有什么可以帮助你的吗? 谢谢您的问询,我可以为您提供更多关于repeating-linear-gradient的信息,包括如何使用它以及一些常见的用例和示例。请告诉我您需要了解哪些方面,我会尽力帮助您。 非常感谢!我想了解如何使用repeating-linear-gradient以及它的一些常见用例和示例。能否给我提供一些相关的资料或者示例代码?当然,下面是一些关于如何使用repeating-linear-gradient和一些常见用例和示例的资料和代码示例。 1. 如何使用repeating-linear-gradient? 使用repeating-linear-gradient创建重复出现的线性渐变,需要设置以下参数: - 渐变的起始和结束位置 - 渐变的颜色 - 渐变的重复方式 下面是一个简单的例子,展示了如何创建一个从左到右的横向渐变: ``` background: repeating-linear-gradient(to right, #f00, #f00 10px, #0f0 10px, #0f0 20px); ``` 在这个例子中,`to right`表示从左到右的渐变方向,`#f00`表示渐变的起始颜色,`#0f0`表示渐变的结束颜色,`10px`表示颜色之间的间距,即红色和绿色之间的间距为10px。 2. 常见的用例和示例 - 创建背景图案 可以使用repeating-linear-gradient创建重复的背景图案,例如条纹、格子等。下面是一个创建斜线条纹背景的例子: ``` background: repeating-linear-gradient(-45deg, #000, #000 10px, #fff 10px, #fff 20px); ``` 在这个例子中,`-45deg`表示渐变的方向为从左上到右下,`#000`表示渐变的起始颜色,`#fff`表示渐变的结束颜色,`10px`表示颜色之间的间距,即黑色和白色之间的间距为10px。 - 创建按钮效果 可以使用repeating-linear-gradient创建按钮的渐变效果,例如点击时出现的阴影、渐变色等。下面是一个创建按钮渐变色的例子: ``` background: repeating-linear-gradient(to bottom, #3498db, #2980b9); ``` 在这个例子中,`to bottom`表示渐变的方向为从上到下,`#3498db`表示渐变的起始颜色,`#2980b9`表示渐变的结束颜色。 - 创建文本效果 可以使用repeating-linear-gradient创建文本的渐变效果,例如添加渐变色的字体、给字体添加边框等。下面是一个创建文本边框的例子: ``` background: repeating-linear-gradient(to right, #000, #000 1px, transparent 1px, transparent 5px); ``` 在这个例子中,`to right`表示渐变的方向为从左到右,`#000`表示渐变的起始颜色,`transparent`表示渐变的结束颜色,`1px`表示颜色之间的间距,即黑色和透明之间的间距为1px。 希望这些资料和代码示例可以帮助您更好地理解repeating-linear-gradient的使用和常见用例。如果您有任何其他问题或需要更多帮助,请随时告诉我。repeating-linear-gradient是CSS3中的一个渐变属性,它可以创建一个线性渐变,并重复沿着指定方向的轴向进行渲染。该属性接受多个颜色值和位置值,可以用来创建渐变的颜色变化。使用repeating-linear-gradient时,需要指定渐变的起始和结束点、方向和颜色值等参数,以实现不同的效果。repeating-linear-gradient 是CSS3中的一个渐变函数,可以创建一个线性渐变的图案并在其中重复使用指定的颜色或颜色组合。该函数使用起点和终点之间的直线来定义渐变,并可以设置渐变的方向、起点和终点位置、颜色和颜色停止位置等属性。使用 repeating-linear-gradient 函数可以轻松地创建漂亮的背景图案和纹理。repeating-linear-gradient 是CSS中的一种渐变函数,用于创建线性渐变。与linear-gradient不同的是,它可以在一定距离后重复显示渐变效果,形成无限重复的渐变背景。该函数需要指定渐变的方向、起点、终点、颜色和重复距离等参数。在实际使用中,可以通过调整参数来实现各种不同的渐变效果。repeating-linear-gradient 是CSS中的一个背景属性,用于创建一个沿着一条线性轴重复的渐变背景。它接受多个参数,包括渐变的起点、终点、颜色和颜色位置等。通过设置这些参数,我们可以创建各种不同的重复线性渐变效果,比如斜线、横线、竖线等等。这个属性在设计网页时非常有用,可以为页面增加更多的美感和视觉层次感。repeating-linear-gradient 是一个CSS背景属性,用于创建一个线性渐变背景图案。与 linear-gradient 不同的是,repeating-linear-gradient 可以使线性渐变图案在整个元素上无限重复出现。 该属性接受多个颜色和位置值作为参数,用逗号分隔。每个颜色和位置值都对应线性渐变中的一个色标位置。可以使用角度或方向向量来指定线性渐变的方向。通过调整这些值,可以创建各种各样的渐变效果。 repeating-linear-gradient 还可以使用 CSS 函数来控制渐变的形状,例如 ellipse、circle、closest-side、farthest-side 等,以及指定重复模式。可以将其应用于背景颜色或背景图像中。repeating-linear-gradient 是 CSS 中的一个函数,用于创建重复的线性渐变背景。它可以接受多个颜色和位置参数,并根据这些参数在背景中生成无限循环的线性渐变。使用该函数可以实现各种有趣的背景效果,如条纹、波纹、斜纹等等。 我可以试着解释一下repeating-linear-gradient的含义:这是一种CSS属性,它可以用来创建一个渐变,其中颜色从一个位置到另一个位置重复出现。repeating-linear-gradient 是 CSS 中的一种线性渐变(linear-gradient),它可以用来创建一条线性渐变,使这条渐变在一定的间隔内重复出现。这个间隔是由渐变的大小和位置决定的,可以通过调整这些参数来控制重复出现的效果。repeating-linear-gradient 通常用于背景的样式设置,可以让背景图案更加生动和多样化。repeating-linear-gradient 是CSS中的一个函数,用于创建一个重复的线性渐变背景。与 linear-gradient 不同的是,repeating-linear-gradient 会重复呈现渐变效果,直到填满整个元素的背景。该函数接受一组参数,包括起始点、结束点、颜色和渐变的方向。可以使用该函数来创建各种不同的背景效果,例如条纹、斜线和波浪线等。repeating-linear-gradient 是一个 CSS 函数,用于创建一个线性渐变,这个渐变将在指定的方向上重复出现。可以使用该函数在背景中创建一些连续的颜色过渡效果。其中,参数包括方向、颜色和终止点等。使用该函数时需要了解一些 CSS 相关知识。repeating-linear-gradient 是一个CSS属性,用于在元素的背景中创建重复的线性渐变效果。该属性可以接受多个颜色值和方向参数,可以创建水平、垂直、对角线等不同方向的渐变效果。使用该属性可以为元素的背景添加更加生动的效果。 我可以解释一下什么是重复线性渐变?重复线性渐变是一种使用两种或多种颜色来渐变的视觉效果,它可以使背景或元素看起来更加丰富和多样化。`repeating-linear-gradient` 是 CSS 的一个属性,用于创建重复的线性渐变。它允许你指定线性渐变的起点、终点和颜色规则,然后在整个元素中重复应用该渐变。与 `linear-gradient` 属性不同的是,`repeating-linear-gradient` 属性会重复应用渐变,直到填满整个元素。repeating-linear-gradient 是一种 CSS 的线性渐变背景图案,可以创建一条线性渐变的背景,并将其无限重复。在使用该函数时,需要指定起点和终点的位置、颜色和停止点等属性。通过控制这些属性,可以创建出多种不同的线性渐变背景图案。repeating-linear-gradient是CSS中的一个渐变属性,用于创建一个重复的线性渐变背景。该属性可以接受多个颜色值,可以定义每个颜色在渐变中所占的位置,还可以定义渐变的方向、起点和终点等参数。使用该属性可以创建出很多有趣的背景效果,如条纹、斜线、波浪等。repeating-linear-gradient 是一种用于创建重复线性渐变的 CSS 函数。使用该函数,可以在元素的背景上创建平滑的渐变效果,而不需要使用多个图像或添加复杂的 CSS 样式。该函数接受多个参数,包括渐变的方向、起始颜色和结束颜色、颜色停止位置以及重复模式等。可以根据需要调整这些参数来创建不同的渐变效果。repeating-linear-gradient 是CSS中的一种渐变类型,用于在元素的背景中创建一条水平或垂直的颜色渐变。与 linear-gradient 不同的是,repeating-linear-gradient 可以重复渐变以填充整个背景区域。该函数接受多个颜色参数和渐变的方向和间距参数,可以通过调整这些参数来创建各种不同的渐变效果。`repeating-linear-gradient` 是 CSS 中的一种线性渐变背景样式。它可以创建一个水平或垂直的线性渐变,这个渐变可以重复多次,从而形成一个无限循环的背景效果。这个属性接受多个颜色值和位置参数来定义渐变的起始点、结束点、颜色变化的位置等等。可以通过调整这些参数来实现不同的渐变效果。repeating-linear-gradient 是CSS中的一个渐变函数,它可以创建一个水平或垂直的线性渐变背景,并使其在指定的范围内重复出现。这个函数的语法类似于 linear-gradient,只是它多了一个关键词 repeating,用于指定渐变的重复方式。在使用这个函数时,我们可以设置渐变的起点、终点、颜色以及渐变的方向,通过调整这些参数,可以创建出不同的渐变效果。repeating-linear-gradient是CSS中的一种渐变背景样式,用于创建一个线性渐变的背景,并且可以重复平铺多次。它可以通过指定起点、终点、颜色等参数来创建一个线性渐变,然后可以通过设置重复次数或重复的尺寸来实现平铺效果。这种样式可以用于创建有趣的背景纹理或动态效果。 我可以为你描述重复线性渐变(repeating-linear-gradient),它是一种CSS(Cascading Style Sheets)背景属性,它可以让你在一个元素的背景上叠加不同的颜色,以形成一个渐变的效果。它的工作方式是,在元素的背景上设置一系列的角度,每个角度对应一种颜色,并在每个角度之间添加一个色彩渐变。这样,可以在元素的背景上创建出线性渐变的效果。`repeating-linear-gradient` 是CSS3中的一个函数,可以用于创建一个重复的线性渐变背景。它可以接受多个参数,包括起始点、方向、颜色值、重复间距等,通过这些参数可以创建出各种不同的线性渐变效果。使用 `repeating-linear-gradient` 函数可以让网页背景看起来更加生动和丰富。repeating-linear-gradient是CSS中的一种渐变样式,可以创建一个水平或垂直的线性渐变背景。与普通的linear-gradient不同的是,repeating-linear-gradient会在整个背景中重复显示渐变颜色,而不是只显示一次。这种渐变样式可以使用CSS的background属性来应用到元素的背景中。repeating-linear-gradient是CSS中的一种渐变效果,它可以创建一个线性渐变并使其在一定范围内重复出现。这种渐变通常可以通过指定起点、方向和颜色阶段来定义,同时还可以设置渐变的重复次数和尺寸范围。在网页设计中,使用repeating-linear-gradient可以为元素添加简单而美观的背景效果。repeating-linear-gradient 是CSS中的一个渐变函数,用于创建一个沿着线性方向重复的渐变效果。它可以指定起点和终点的位置,以及颜色和色标的分布情况,从而创建不同类型的渐变效果。与 linear-gradient 不同的是,repeating-linear-gradient 可以让渐变效果在整个背景上重复出现,直到被填满。repeating-linear-gradient是一种CSS线性渐变的函数,它可以创建一条水平或垂直方向上的渐变颜色条纹,并且可以重复多次。在这个函数中,你可以指定渐变的方向、颜色、起始和结束位置,还可以指定重复次数和间距。通过使用repeating-linear-gradient函数,你可以轻松地为你的网页或应用程序添加有趣的背景或装饰效果。`repeating-linear-gradient` 是 CSS 中的一个属性,用于创建重复的线性渐变背景。它可以在一定范围内重复显示指定的线性渐变效果。在 `repeating-linear-gradient` 属性中,可以指定渐变的方向、颜色和位置等参数。通过这些参数的设置,可以创建出各种不同的线性渐变背景效果。repeating-linear-gradient 是一种CSS(层叠样式表)属性,用于创建重复的线性渐变。该属性可以设置渐变的起点、终点、颜色和重复规则等参数。与 linear-gradient 属性不同的是,repeating-linear-gradient 可以让渐变效果重复出现,直到填满整个容器。使用该属性可以让网页的背景、边框等元素呈现出独特的渐变效果。 我可以为您解释重复线性渐变的概念:它是一种CSS背景图案,它可以让你从一种颜色到另一种颜色渐变,并且可以重复这种渐变。repeating-linear-gradient是CSS的一个渐变函数,用于创建重复的线性渐变。该函数使用以下语法: ``` repeating-linear-gradient([ [ <angle> | to <side-or-corner> ] ,]? <color-stop> [, <color-stop>]+) ``` 其中,方括号表示可选项,逗号表示分隔符。参数说明如下: - `<angle>`:指定渐变的方向,可以使用角度值(如45deg)或关键词(如top、right、bottom、left等)。 - `to <side-or-corner>`:指定渐变的方向,可以使用关键词(如to top、to right、to bottom、to left、to top right等)。 - `<color-stop>`:指定渐变中每个颜色的位置和颜色值,位置可以使用百分比或长度值,颜色可以使用颜色名称、RGB值、十六进制值等。 以下是一个示例: ``` background: repeating-linear-gradient(45deg, red, yellow 10%, blue 20%); ``` 该示例创建了一个45度方向的重复线性渐变,包含红、黄、蓝三个颜色,分别在0%、10%和20%位置处出现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值