1. 程式人生 > >UVa 455 Periodic Strings(習題3-4)

UVa 455 Periodic Strings(習題3-4)

這幾天一直都沒有寫程式碼,主要是有點事情還有就是忙著複習期末考試,所以說最近一段時間都會很少更新了

這道題的話是比較水的,但是因為我在寫程式碼的時候還有有的地方思路沒有想清楚,重複了幾次才過的

一開始想的太簡單了,直接列舉判斷,後來才慢慢修改,還有就是判斷的後面不要加上分號,有時候不細心真的看不出來

程式碼:

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