fork(4) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. string wyrazenie;
  8. int ile_piatek=-1, licznik=0, tablica[16];
  9.  
  10. cin>>wyrazenie;
  11. cin>>ile_piatek;
  12.  
  13. if (ile_piatek!=-1)
  14. {
  15. if (ile_piatek>wyrazenie.length())
  16. {
  17. for (int i=1; i<=ile_piatek; i++)
  18. {
  19. if (i>16) break;
  20. cout<<"5";
  21. }}
  22.  
  23. else
  24. {
  25. for (int k=0; k<=15; k++)
  26. {
  27. tablica[k]=0;
  28. }
  29.  
  30. int m=15;
  31. for (int l=wyrazenie.length()-1; l>=0; l--)
  32. {
  33. tablica[m]=wyrazenie[l]-48;
  34. m--;
  35. }
  36. tablica[15]++;
  37. for (int n=15; n>=1; n--)
  38. {
  39. if (tablica[n]==10) {tablica[n]=tablica[n]-10; tablica[n-1]++;}
  40. else break;
  41. }
  42.  
  43. for (int j=15; j>=1; j--)
  44. {
  45. int counter=0;
  46. for (int alfa=0; alfa<=15; alfa++)
  47. {
  48. if (tablica[alfa]==5) counter++;
  49. if (counter>=ile_piatek) break;
  50. }
  51. if (counter>=ile_piatek) break;
  52.  
  53. if (0<=tablica[j]&&tablica[j]<=4)
  54. {
  55. tablica[j]=5;
  56. }
  57.  
  58. else if (tablica[j]>=6&&tablica[j-1]==4)
  59. {
  60. tablica[j]=0;
  61. tablica[j-1]=5;
  62. }
  63.  
  64. else if (j<=14&&tablica[j]==5&&tablica[j+1]==0)
  65. {
  66. tablica[j+1]=5;
  67. }
  68.  
  69. else
  70. {
  71. tablica[j]=5;
  72. tablica[j-1]++;
  73.  
  74. if (tablica[j-1]==10)
  75. {
  76. for (int n=j-1; n>=1; n--)
  77. {
  78. if (tablica[n]>=10) {tablica[n]=tablica[n]-10; tablica[n-1]++;}
  79. else break;
  80. }
  81. }
  82. }
  83. }
  84. int flag=0;
  85. for (int beta=0; beta<=15; beta++)
  86. {
  87. if (tablica[beta]!=0) flag=1;
  88. if (flag==1) cout<<tablica[beta];
  89. }
  90. }
  91. }
  92. return 0;
  93. }
Success #stdin #stdout 0s 4248KB
stdin
Standard input is empty
stdout
Standard output is empty