zoj 1073 Round and Round We Go

来源:互联网 发布:string 转 日历 java 编辑:程序博客网 时间:2024/05/20 15:42

// 大数乘法,我是用数组做的,

 //刚上去做错误很多,还是做题太少了。

#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int len;bool cmp(int a[], int b[]){  int i;  for(i=0; i<len; i++)  {      if(a[i]!=b[i]) return false;  }  return true;}int main(){    string s;    int i,j;    while(cin>>s)    {     bool flag=true;     len=s.length();     int *a=new int[len];     int *sa=new int[len];     int *na=new int[len];      for( i=0; i<len; i++)      {        a[i]= sa[i]=s[i]-'0';      }        sort(sa,sa+len);          int c,temp;     for( i=2; i<=len; i++)     {          c=0;         for( j=len-1; j>=0; j--)         {            temp=a[j]*i+c;            na[j]=temp%10;        c= temp > 9 ? temp/10 : 0;         }               sort(na,na+len);          if(!cmp(na,sa)) {flag =false; break;}     }     for( i=0; i<len; i++)        cout<<a[i];     if(flag)  printf(" is cyclic\n");     else printf(" is not cyclic\n");     }    return 0;}