1047.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 52 行

TXT
52
字号
 

#include"iostream.h"
#include"string.h"
char w[100];

int m[100];
int sign[100];
int cheng(int n,int l)
{int temp=0,i;

for(i=l-1;i>=0;i--)
{m[i]=w[i]*n+temp;
temp=m[i]/10;
m[i]=m[i]%10;
}
if(temp)return 0;
	else return 1;
}



int main()
{int n,i,j,k;
	while(1)
	{cin>>w;if(cin.fail())break;
	n=strlen(w);	
		for(i=0;i<n;i++)w[i]-='0';

		for(i=1;i<=n;i++)
		{if(!cheng(i,n))break;
//			cout<<i<<"  "<<n<<endl;
//			for(k=0;k<n;k++)cout<<char(m[k]+'0');
//		cout<<"->"<<endl; 
		for(j=0;j<n;j++)sign[j]=0;
		
		for(j=0;j<n;j++)
		for(k=0;k<n;k++)
		if(!sign[k]&&w[k]==m[j]){sign[k]=1;break;}

		 for(j=0;j<n;j++)if(sign[j]!=1)break;
		 if(j<n)break;
		 }
		for(k=0;k<n;k++)w[k]+='0';                                                            
			
		if(i<=n)cout<<w<<" is not cyclic\n";
		else cout<<w<<" is cyclic\n";
		}
	return 1;
	}	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?