UVa 455 Periodic Strings(習題3-4)
阿新 • • 發佈:2018-11-07
這幾天一直都沒有寫程式碼,主要是有點事情還有就是忙著複習期末考試,所以說最近一段時間都會很少更新了
這道題的話是比較水的,但是因為我在寫程式碼的時候還有有的地方思路沒有想清楚,重複了幾次才過的
一開始想的太簡單了,直接列舉判斷,後來才慢慢修改,還有就是判斷的後面不要加上分號,有時候不細心真的看不出來
程式碼:
#include<cstdio> #include<iostream> #include<cstring> using namespace std; char c[100]; int ans,n; bool check(int cnt) { for(int i = cnt;i<n;i++) if(c[i]!=c[i%cnt]) return false; return true; } int main() { int k; cin>>k; while(k--) { ans = 0; cin>>c; n = strlen(c); for(int i = 1;i<=n;i++) { if(n%i==0) { if(check(i)) {ans = i; break;} } } if(!ans) cout<<strlen(c)<<endl; else cout<<ans<<endl; if(k) cout<<endl; } }