字符串最小周期问题

编程入门 行业动态 更新时间:2024-10-09 21:20:37

<a href=https://www.elefans.com/category/jswz/34/1771434.html style=字符串最小周期问题"/>

字符串最小周期问题

如果一个字符串可以由某个长度为K的字符串重复多次得到,我们说该串以k为周期。例如abcabcabc以3为周期(注意,它也可以6或12为周期)。输入长度不超过80的字符串,输出它最小周期。
样例输入:HoHoHo(EOF结束)

样例输出:2


由于是判断最小周期,所以肯定是从1开始一个一个增大周期,一旦符合条件就输出.


#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>


int main()
{
    char s[100];
    scanf("%s",s);
    int i,j;
    int len = strlen(s);
    for(i=1;i<=len;i++)
    {
        if(len%i == 0)
        {
            bool is = true;
            for(j=i;j<len;j++)
            {
                if(s[j]!=s[j%i])
                {
                    is = false;
                    break;
                }
            }
            if(is)
            {
                printf("%d",i);
                break;
            }
        }
    }
    return 0;
}


更多推荐

字符串最小周期问题

本文发布于:2024-03-23 20:31:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742513.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   周期   最小

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!