rengetsu

ProcedurProgramavimas_2.15

Apr 5th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4. int main()
  5. {
  6. long double n,ats,d=1,ch=1,sk0,sk1,sk2;
  7. long double aa,ab,ac,ad,ia,ib,ic,id,qa,qb,qc,qd;
  8. long long int rez;
  9. char mas[4],mas2[4];
  10. cin>>mas[0]>>mas[1]>>mas[2]>>mas[3]>>n;
  11. aa = mas[0] - '0';
  12. ab = mas[1] - '0';
  13. ac = mas[2] - '0';
  14. ad = mas[3] - '0';
  15. sk0=(aa*1000)+(ab*100)+(ac*10)+(ad);ats=sk0;
  16. if(n==ch){cout<<ats<<endl;return 0;}
  17.  
  18. mn:
  19. mas2[0]=mas[0];mas2[1]=mas[1];mas2[2]=mas[2];mas2[3]=mas[3];
  20. //Nedidejancia tvarka (sk1)
  21. for(long long int i = 4 - 1; i >= 1; i--){
  22.    for(long long int j = 0; j < i; j++)
  23.    {
  24.         if(mas[j] > mas[j+1])
  25.         {  
  26.              int foo = mas[j];
  27.              mas[j] = mas[j+1];
  28.              mas[j+1] = foo;
  29.         }
  30.    }
  31. }
  32. ia = mas[0] - '0';
  33. ib = mas[1] - '0';
  34. ic = mas[2] - '0';
  35. id = mas[3] - '0';
  36. sk1=(ia*1000)+(ib*100)+(ic*10)+(id);
  37. //Nemazejancia tvarka (sk2)
  38. for(long long int i = 4 - 1; i >= 1; i--){
  39.    for(long long int j = 0; j < i; j++)
  40.    {
  41.         if(mas2[j] < mas2[j+1])
  42.         {  
  43.              int foo = mas2[j];
  44.              mas2[j] = mas2[j+1];
  45.              mas2[j+1] = foo;
  46.         }
  47.    }
  48. }
  49. qa = mas2[0] - '0';
  50. qb = mas2[1] - '0';
  51. qc = mas2[2] - '0';
  52. qd = mas2[3] - '0';
  53. sk2=(qa*1000)+(qb*100)+(qc*10)+(qd);
  54. //Isvedam atsakyma
  55. rez=sk2-sk1;
  56. mas[0]='0' + (rez/1000);
  57. mas[1]='0' + ((rez-((rez/1000)*1000))/100);
  58. mas[2]='0' + (((rez-((rez/1000)*1000))-(((rez-((rez/1000)*1000))/100)*100))/10);
  59. mas[3]='0' + (((rez-(rez/1000)*1000)-(((rez-((rez/1000)*1000))/100)*100))-((((rez-((rez/1000)*1000))-(((rez-((rez/1000)*1000))/100)*100))/10)*10));
  60. ats=rez;
  61. ch+=1;
  62.     if(n==ch || ch>10000){cout<<setprecision(60)<<ats<<endl;return 0;}else{goto mn;}
  63. return 0;
  64. }
Add Comment
Please, Sign In to add comment