zoukankan      html  css  js  c++  java
  • c语言 周期

    //问题:如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串的周期为k.例如,abcabcabc 以3为周期(同时它也以6为周期)
    //输入一个长度不超过80的字符串,输出其最小的周期
    #include<stdio.h>
    #include<string.h>
    const int maxn=100;
    char s[maxn];
    int main(){
        int T;
        scanf("%d",&T);
        while(T--){
            scanf("%s",s);
            for(int i=1;i<=strlen(s);i++){
                int n=0,falg=0;
                //如果是周期 必须能被整除
                if(strlen(s)%i==0){
                    for(int j=0;j<strlen(s);j++){
                        //每个周期内的值
                        if(s[j]==s[j%i]){
                            n++;
                            //当n等于strlen(s)时 就是结束
                            if(n==strlen(s)){
                                printf("%d",i);
                                //结束循环的标记
                                falg=1;
                                break;
                            }
                        }
                    }
                }
                if(falg)
                    break;
            }
            if(T)
                printf(" ");
            else
                printf(" ");
        }
        return 0;
    }

  • 相关阅读:
    2015年中国互联网十大牛逼词汇
    考上好大学,然后进入IT行业是穷人孩子晋级中产的唯一出路?
    Redis中hash表中的field的value自增可以用hincrby
    如何学好编程(四)——这种方法真的有用吗
    挑战编程题(三)
    C++ 单链表的基本算法
    挑战编程题(二)
    程序员到底需要学习多少东西??
    Erlang 进制转换
    Erlang基础知识集锦
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/6600244.html
Copyright © 2011-2022 走看看