大佬求助,最后一点WA

P1532 卡布列克圆舞曲

#include<iostream> #include<algorithm> using namespace std; long long circle[1001]; long long n; bool iscircle(long long xx,long long &start) { for(long long i=1;i<=n-1;i++) if(xx==circle[i]){ start=i; return true; }; start=-1; return false; } void work(long long x) { n=0; long long xx=x; long long start=-1; while(!iscircle(xx,start)) { long long num[15],m=0; while(xx!=0) { num[++m]=xx%10; xx/=10; } sort(num+1,num+1+m); long long small=0,large=0; for(long long i=1;i<=m;i++) { small=small*10+num[i]; } for(long long i=m;i>=1;i--) { large=large*10+num[i]; } xx=circle[++n]=large-small; } for(long long i=start;i<=n-1;i++) { cout<<circle[i]<<' '; } cout<<endl; } int main() { long long x; while(cin>>x) work(x); return 0; }
by PolandBallOffical @ 2019-02-07 21:39:24


代码怎么成这样子?
by PolandBallOffical @ 2019-02-07 21:40:04


```cpp #include <iostream> //有一个插入代码的按钮 ```
by ChengZe @ 2019-02-07 22:06:19


` ```cpp ` `你的代码` ` ``` `
by _Life_ @ 2019-02-07 22:11:18


```cpp #include<iostream> #include<algorithm> using namespace std; long long circle[1001],num[20]; long long n,m; long long a[200]={0,1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000}; long long len(long long x) { for(long long i=1;i<=10;i++) if((x/a[i])<10) return i; } bool iscircle(long long xx,long long &start) { for(long long i=1;i<=n-1;i++) if(xx==circle[i]){ start=i; return true; }; start=-1; return false; } void qjs(long long xx) { for(int i=1;i<=10;i++) if(a[i]==xx) {num[i]=1; return;}; for(int i=1;i<=m;i++) { num[i]=xx%10; xx/=10; } return; } void work(long long x) { n=0; long long xx=x; long long start=-1; while(!iscircle(xx,start)) { qjs(xx); sort(num+1,num+1+m); long long small=0,large=0; for(long long i=1;i<=m;i++) small=small*10+num[i]; for(long long i=m;i>=1;i--) large=large*10+num[i]; xx=circle[++n]=large-small; } for(long long i=start;i<=n-1;i++) cout<<circle[i]<<' '; cout<<endl; } int main() { long long x; while(cin>>x) { m=len(x); work(x); } return 0; } ```
by PolandBallOffical @ 2019-02-18 22:16:16


|