Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. ifstream f("sir.in");
  5. ofstream g("sir.out");
  6.  
  7. int n, suma;
  8. char s[1001];
  9.  
  10. struct sirfaraspatii{
  11. bool ok=0;
  12. int nr;
  13. };
  14.  
  15. vector <sirfaraspatii> v;
  16.  
  17. int sumacifrelor(int x)
  18. { int sum=0;
  19. while (x)
  20. { sum+=x%10;
  21. x=x/10;
  22. }
  23. return sum;
  24. }
  25.  
  26. int main()
  27. {
  28.  
  29. f.getline(s,1001);
  30. int lg=strlen(s);
  31. for (int i=0;i<lg;i++)
  32. { suma+=(s[i]-'0');
  33. cout<<3;
  34. /*de ce nu merge sa fac asta?*/ v[i].nr=(s[i]-'0');///pun cifrele intr-un vector separat
  35. cout<<4;
  36. }
  37. int suma2=0;
  38. int n=0;
  39. while (suma2!=suma)
  40. { n++;
  41. suma2+=sumacifrelor(n);
  42. }
  43. int AmGasitNrele=1;
  44. int contor=0;
  45. cout<<2;
  46. while (contor<v.size())
  47. {
  48. cout<<1;
  49. if (v[contor].nr==n%10 && v[contor].ok==0) ///verific daca se gasete numarul si nu am mai trecut pe acolo
  50. { int aux=n;
  51. aux/=10;
  52. int j=contor-1;
  53. while (v[j].nr==aux%10)
  54. { aux/=10;
  55. j--;
  56. }
  57. if (aux==0)
  58. { v[j].nr=n;
  59. v[j].ok=1;
  60. n--;
  61. while (j!=contor);
  62. { v.erase(v.begin()+contor);
  63. contor--;
  64. }
  65. }
  66. }
  67. contor++;
  68. }
  69. g<<n;
  70. for (int i=1;i<=v.size();i++) cout<<v[i].nr<<" "<<v[i].ok<<'\n';
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement