打表找规律 第25项开始循环
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n; int a[1010],c[1010]; inline bool cp(int x,int y) { return x<y; } int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); cin>>n; int x=1; a[1]=1; for(int i=2;i<=30;i++) { x*=2; int t=x,l=0; while(t>0) { c[++l]=t%10; t/=10; } sort(c+1,c+l+1,cp); for(int j=1;j<=l;j++) { a[i]*=10; a[i]+=c[j]; } x=a[i]; } // for(int i=1;i<=30;i++) // cout<<a[i]<<endl; if(n<=25) { cout<<a[n]<<endl; return 0; } cout<<a[(n-25)%6+25]<<endl; // cout<<a[(n-1)%25+1]<<endl; fclose(stdin); fclose(stdout); return 0; }
时间: 2025-01-11 15:40:10