您的位置:首页 > 编程语言 > Go语言

zoj 1073 Round and Round We Go

2013-09-06 21:10 281 查看
// 大数乘法,我是用数组做的,

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

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zoj