http://acm.hdu.edu.cn/showproblem.php?pid=1313
考查大整数与小整数相乘
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 70
using namespace std;
int main()
{
char str[N],a[N][N];
int len,i,j,flag,m;
while(gets(str))
{
memset(a,,sizeof(a)); printf("%s ",str); flag=; len=strlen(str); strrev(str); for(i=;i<len;i++)
{
for(j=;j<len;j++)
a[i][j]='';
for(j=;j<len;j++)
{
m=a[i][j]-''+(i+)*(str[j]-'');//不能直接将m代入下面,因为a[i][j+1]使j的值发生变化;
a[i][j]=(m)%+'';
a[i][j+]=(m)/+'';
}
a[i][j]='\0'; }
sort(str,str+len); for(i=;i<len;i++)
{
sort(a[i],a[i]+len);
if(strcmp(a[i],str)==)
flag++;
}
if(flag==len)
printf("is cyclic\n");
else
printf("is not cyclic\n");
}
return ;
}