#include <iostream.h> #include <string.h> #include <fstream.h> ifstream f("c.in"); #define cin f int main() { char a[61],b[61]; char c[61][61]; while(cin>>a) { int pos; int i,j,k; int iw; int flag=0; for(pos=0;pos<strlen(a);pos++) { for(i=0;i<strlen(a)-pos;i++) c[pos][i]=a[i+pos]; for(i=strlen(a)-pos;i<strlen(a);i++) c[pos][i]=a[i-strlen(a)+pos]; c[pos][strlen(a)]='\0'; } int kkk=strlen(a); if(strlen(a)>30) kkk=strlen(a)/3; else if(strlen(a)>40) kkk=strlen(a)/4; for(i=1;i<=kkk;i++) { iw=0; int flag2=0; for(j=strlen(a)-1;j>=0;j--) { int k=(a[j]-'0')*i+iw; b[j]=k%10+'0'; iw=k/10; } b[strlen(a)]='\0'; for(j=0;j<strlen(a);j++) { if(strcmp(c[j],b)==0) { flag2=1; break; } } if(flag2==0) { flag=1; goto loop; } } loop : if(flag==1) cout<<a<<" is not cyclic"<<endl; else cout<<a<<" is cyclic"<<endl; } }

评论