循环小数 南阳oj329 【KMP next数组的应用】
来源:互联网 发布:企查查软件下载 编辑:程序博客网 时间:2024/06/08 04:03
我们可爱的 c小加 近段儿正在潜心研究数学,当他学习到循环小数这一部分时不是太明白循环体是什么意思(比如说3.23232323的循环体是23、2323、23232323),假设我们现在的循环小数都是严格循环的并且有限的,也就是说不出现2.16666666(循环体为6,长度为1)的情况,只有123123这样的循环出现。给他一个小数,他需要找出最小循环体的长度、循环体和循环的次数,请你帮他解决这个问题。
- 输入
- 输入的第一行是t,表示有t组测试数据(t<=100)。
随后的t行,每行都是一个小于10并且大于0的小数(总长度<=200)。 - 输出
- 对每组输入,输出结果单独成行,输出最小循环体的长度、循环体和出现循环的次数。
- 样例输入
38.69876987698769870.6665.1
- 样例输出
4 6987 41 6 31 1 1
//AC代码
#include<stdio.h>#include<string.h>char str[300];char s[300];int next[300];int len;void Get_Next(){int i=0,j=-1;next[0]=-1;while(i<len){if(j==-1 || s[i]==s[j]){++i,++j;next[i]=j;}elsej=next[j];}}int main(){int i,T;scanf("%d",&T);while(T--){scanf("%s",str);len=strlen(str);for(i=0;i<len;++i){if(str[i]=='.')break;}int k=0;for(i=i+1;i<len;++i)s[k++]=str[i];len=k;Get_Next();printf("%d ",len-next[len]);//最大字符串长度 for(i=0;i<len-next[len];++i)printf("%c",s[i]);printf(" ");printf("%d\n",len/(len-next[len]));//重复几次 }return 0;}
0 0
- 循环小数 南阳oj329 【KMP next数组的应用】
- KMP算法中的NEXT数组的应用
- hdu1358 KMP-next数组的应用
- hdu-4763 kmp next数组的应用
- POJ 1961 KMP的next数组应用
- hdu 3746 KMP next数组的应用
- hust 1010 kmp next数组的应用
- POJ2752 KMP中next数组的应用
- POJ 2406 KMP next数组的应用
- KMP(3)--poj2406(next数组的应用)
- KMP(4)--poj2752(next数组的应用)
- hdu-1358 kmp,next数组的应用
- 关于 KMP next 数组的应用
- hdu1358 KMP中next数组的应用
- KMP的next数组
- vijos kmp next数组应用
- poj2752—kmp的next数组的简单应用
- poj2406-kmp的next数组的简单应用(2)
- hpuoj 1697 找句子
- Android 蓝牙4.0 Bluetooth BLE 写数据(修改BLE设备的属性)
- 关于 Java 程序员的一些入门级面试题
- POM
- ssh登陆提示"Host key verification failed."的解决方法
- 循环小数 南阳oj329 【KMP next数组的应用】
- 大学生投注“互联网+”营销QQ推动传统企业转型
- macox下编译snappy静态库
- [笔记][Java7并发编程实战手册]2.4在同步代码中使用条件-生产者与消费者
- Leetcode -- Integer to Roman
- HTML5的canvas实现一个球的左右移动
- 算法竞赛入门经典(第二版) 习题3-5 谜题(Puzzle) UVa227 Finals1993
- Spring AOP(2)动态代理
- JS实现动态添加图片上传,多个单图添加