uva-455
2015-10-12 18:55
246 查看
利用约数计算周期,直接枚举
这一份是之前写的伪代码 =。= 好乱
#include<stdio.h> #include<string.h> #define maxn 800 char any[maxn]; int som[maxn]; int main(){ int k,j=0,T,n,x=0,y=0,i; char c; scanf("%d",&T); memset(som,0,sizeof(som)); while(T--){ scanf("%s",any); n=strlen(any); <span style="font-family: Arial, Helvetica, sans-serif;">//这里用n记录了输入字符串的长度</span> for (i = 1 ; i <= n ; ++ i) if (n%i == 0) { for (k = i ; k < n ; ++ k) if (any[k] != any[k%i]) break; if (k == n) { som[j]=i;j++; break; } } } for(int s=0;s<j;s++){ printf("%d\n",som[s]); } return 0; }
这一份是之前写的伪代码 =。= 好乱
/*int h=n,flag2=0; while(h--){ if(any[h]==any[0]) flag2=1; else break; } if(flag2==1){ wbd[a]=1;a++; break; } for(i=2;i<n;i++){ if(n%i==0){ som[y]=i; //这里用som数组记录下字符串长度n的约数 只要字符串有周期 就在这里产生 y++; } } for(int t=0;t<y;t++){ //y这里记录的是字符串长度的约数的个数 for(int z=0;z<som[t];z++){ if(any[z]==any[som[t]+z]){ flag=1; continue; } else { flag=0; break; } } if(flag==1){ wbd[a]=som[t];a++; break; } } } for(int u=0;u<a;u++){ printf("%d\n",wbd[u]); } }*/
相关文章推荐
- 【线性代数】 02 - 线性空间
- LeetCode OJ:First Bad Version(首个坏版本)
- JS添加可信站点、修改ActiveX安全设置,禁用弹出窗口阻止程序的方法
- django关于csrf防止跨站的ajax请求403处理
- 51nod建设国家
- POI操作Office导出Html文档
- POI操作Office导出Html文档
- linux内核之trap.c文件分析
- SSM框架 tomcat7部署不成功
- cocos2d 简单的日常高仿酷跑游戏
- android application类的用法
- 用VC自己动手做个录音机
- Unity Text 插入超链接
- linux虚拟机共享文件查找,手动升级vmware tools
- 虚函数浅析
- iOS - 屏幕适配-之自动适配
- linux-shell 脚本转换 十六进制 十进制 八进制 二进制
- “大师兄”社区(http://www.daxixiong.com/)欢迎你!!!
- 软件工程之软件测试
- android:RxJava RxAndroid+Lambda