1、字符串類的水題。
2、給出的字符串長度一定爲重複字符串長度的倍數,只需要驗證每組循環開頭的第一個字符是否一樣即可。設置flag標記,一路讀到最後一組循環且flag=1,成立,flag=0則不成立。
3、注意最後題目要求的格式輸出。
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n;
char line[100];
while(cin>>n) {
while(n--) {
scanf("%s",line); //輸入字符串
int len=strlen(line); //字符串長度
for(int i=1;i<=len;i++) {
if(len%i==0) { //i即爲可能重複字符串的長度
int j;
for(j=i;j<=len;j++) {
if(line[j]!=line[j%i])
break; //循環組的對應字符是否相同,相同則繼續循環,不相同則
} //跳出循環
if(j==len) {
cout<<i<<endl; //檢查循環是否能到字符串結束,是則對應i爲重複長
break; //度,否則i不是
}
}
}
if(n) cout<<endl; //一定不能忽略題目的輸出要求
}
}
return 0;
}