• nyoj329-循环小数


    329-循环小数


    内存限制:64MB时间限制:3000msSpecial Judge: No

    accepted:1submit:1

    题目描述:

    我们可爱的 c小加 近段儿正在潜心研究数学,当他学习到循环小数这一部分时不是太明白循环体是什么意思(比如说3.23232323的循环体是23、2323、23232323),假设我们现在的循环小数都是严格循环的并且有限的,也就是说不出现2.16666666(循环体为6,长度为1)的情况,只有123123这样的循环出现。给他一个小数,他需要找出最小循环体的长度、循环体和循环的次数,请你帮他解决这个问题。

    输入描述:

    输入的第一行是t,表示有t组测试数据(t<=100)。
    随后的t行,每行都是一个小于10并且大于0的小数(总长度<=200)。

    输出描述:

    对每组输入,输出结果单独成行,输出最小循环体的长度、循环体和出现循环的次数。

    样例输入:

    3
    8.6987698769876987
    0.666
    5.1

    样例输出:

    4 6987 4
    1 6 3
    1 1 1
    
            #include<stdio.h>  
            #include<string.h>  
            char a[222],s[222];  
            int next[222];  
            int len,c;  
            void getnext()  
            {  
                int i=0,j=-1;  
                next[i]=j;  
                while(i<len)  
                {  
                    if(j==-1||s[i]==s[j])  
                    {  
                        i++,j++;  
                        next[i]= j;  
                    }  
                    else  
                    j = next[j];  
                }  
                if(len%(len-next[len])==0)  
                    c=len/(len-next[len]);//循环次数   
            }  
            int main()  
            {  
                int t,l,i,j;  
                scanf("%d",&t);  
                while(t--)  
                {  
                    memset(s,'',sizeof(s));  
                    scanf("%s",a);  
                    len=strlen(a);  
                    for(i=2,j=0;i<len;i++,j++)  
                        s[j] = a[i];  
                    len-=2;  
                    getnext();  
                    l = len/c; //循环节长度   
                    printf("%d ",l);  
                    for(i=0;i<l;i++)  
                    printf("%c",s[i]);//循环节   
                    printf(" %d
    ",c); //次数   
                }  
                return 0;  
            }

  • 相关阅读:
    模拟器 | 如何安装ENSP,附上最详细的步骤,含安装软件!
    《平凡的世界》孙少平给妹妹孙兰香的信
    Date类添加一个新的方法,用prototype
    jquery动画相关函数
    斐波那契数列 递归调用
    怎样才能升天?
    jquery tabs切换插件
    vmware桥接共享的问题
    C#,mysql 添加数据的问题
    一根神奇的网线
  • 原文地址:https://www.cnblogs.com/aerer/p/9931115.html
Copyright © 2020-2023  润新知