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;
    }

  • 相关阅读:
    java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
    Lambda表达式详解
    MAC JDK 卸载方法(彻底卸载)
    JAVA final关键字
    JAVA访问权限
    JAVA重写
    JAVA继承
    单例设计模式---懒汉式和饿汉式
    JAVA构造块和静态代码块
    Java static关键字
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/6600244.html
Copyright © 2011-2022 走看看