fork download
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4. typedef unsigned char Byte;
  5. int N;
  6. vector<Byte> m;
  7. vector<Byte> makeSol(Byte start,int N)
  8. {int S=0;
  9. Byte D=start;
  10. vector<Byte> r;
  11. r.push_back(D);
  12. do
  13. {S=100*S+D;
  14. D=S/N;
  15. S%=N;
  16. if (D==start && !S) break;
  17. r.push_back(D);
  18. }while(true);
  19. return r;
  20. }
  21. void makeMin(int N)
  22. {vector<Byte>r;
  23. m=makeSol(1,N);
  24. for (Byte start=2;start<100;start++)
  25. {r.clear();
  26. r=makeSol(start,N);
  27. if (r.size()<m.size()) m=r;
  28. }
  29. }
  30. int main()
  31. {cin>>N;
  32. makeMin(N);
  33. for (int i=0;i<m.size();i++)
  34. {cout.fill('0');
  35. cout.width(2);
  36. cout<<(int)m[i];
  37. }
  38. cout<<endl;
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0.01s 5272KB
stdin
20
stdout
010005002501250625312656328164082041020510255127563781890945472736368184092046023011505752876438219109554777388694347173586793396698349174587293646823411705852926463231615807903951975987993996998499249624812406203101550775387693846923461730865432716358179089544772386193096548274137068534267133566783391695847923961980990495247623811905952976488244122061030515257628814407203601800900450225112556278139069534767383691845922961480740370185092546273136568284142071035517758879439719859929964982491245622811405702851425712856428214107053526763381690845422711355677838919459729864932466233116558279139569784892446223111555777888944472236118059029514757378689344672336168084042021010505252626313156578289144572286143071535767883941970985492746373186593296648324162081040520260130065032516258129064532266133066533266633316658329164582291145572786393196598299149574787393696848424212106053026513256628314157078539269634817408704352176088044022011005502751375687843921960980490245122561280640320160080040020010005002501250625312656328164082041020510255127563781890945472736368184092046023011505752876438219109554777388694347173586793396698349174587293646823411705852926463231615807903951975987993996998499249624812406203101550775387693846923461730865432716358179089544772386193096548274137068534267133566783391695847923961980990495247623811905952976488244122061030515257628814407203601800900450225112556278139069534767383691845922961480740370185092546273136568284142071035517758879439719859929964982491245622811405702851425712856428214107053526763381690845422711355677838919459729864932466233116558279139569784892446223111555777888944472236118059029514757378689344672336168084042021010505252626313156578289144572286143071535767883941970985492746373186593296648324162081040520260130065032516258129064532266133066533266633316658329164582291145572786393196598299149574787393696848424212106053026513256628314157078539269634817408704352176088044022011005502751375687843921960980490245122561280640320160080040020