演算法篇-字串-週期串
題目:如果一個字串可以由某個長度為k的字串重複多次得到,我們說該串以k為週期。例如abcabcabcabc以3為週期(注意,它也以6和12為週期)。輸入一個長度不超過80的串,輸出它的最小週期。
樣例輸入:HOHOHO
樣例輸出:2
程式碼如下:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char word[100];
cin>>word;
int len=strlen(word);
for (int i=1; i<=len; i++)
{
if (len%i==0)
{
int ok=1;
for (int j=i; j<len; j++)
{
if (word[j]!=word[j%i])
{
ok=0;
break;
}
}
if (ok)
{
cout<<i<<endl;
break;
}
}
}
return 0;
}
執行結果:
相關文章
- KPM演算法求字串的最小週期證明演算法字串
- 演算法之字串——最長迴文子串演算法字串
- 演算法篇-字串-WERTYU演算法字串
- POJ 1261 Period KMP (字串週期)KMP字串
- vue使用總結-生命週期篇Vue
- Delphi字串的引用計數與生命週期字串
- 演算法篇-字串-TeX括號演算法字串
- 取週期性字串中的其中一個字串
- 時鐘週期,機器週期,指令週期
- ES6字串字串
- Java 的字串和子串Java字串
- day7字串字串
- java 生成32位字串Java字串
- 一串字串的翻轉字串
- 刪除字串中的子串字串
- 字串操作>靜態串String字串
- Hive Query生命週期 —— 鉤子(Hook)函式篇HiveHook函式
- 第八週 專案1-建立順序串的演算法庫演算法
- 因數分解演算法、週期查詢演算法(簡化)演算法
- 演算法練習:求字串的最長重複子串(Java實現)演算法字串Java
- POJ--2406Power Strings+KMP求字串最小週期KMP字串
- Python3字串方法Python字串
- 排列子串;及翻譯字串分析字串
- 演算法問題——判斷陣列中是否含有某一字串演算法陣列字串
- 生命週期
- Vue 基礎篇(四):父子元件的生命週期順序Vue元件
- CSS3字串逐字高亮效果CSSS3字串
- 兩個字串的最長公共子串字串
- View生命週期與Activity生命週期的關係View
- PHP 生命週期PHP
- Flutter - 生命週期Flutter
- sessionStorag 生命週期Session
- Fragment生命週期Fragment
- Activity生命週期
- vue - 生命週期Vue
- React生命週期React
- ubuntu生命週期Ubuntu
- React 生命週期React