fork(2) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. void Dziel(long long int& liczba_)
  7. {
  8. long long int podziel_przez = 1000000000;
  9. if (liczba_ == 1000000000000)
  10. {
  11. cout << "bln.\n";
  12. }
  13.  
  14. else if (liczba_ < 1000000000000)
  15. {
  16. long long int ile, pomocnicza, kopia_ile;
  17. for (int j = 0; j < 4; ++j)
  18. {
  19. ile = liczba_ / podziel_przez;
  20. pomocnicza = ile;
  21. kopia_ile = ile;
  22. for (int i = 0; i < 3; ++i)
  23. {
  24. if (ile > 20)
  25. {
  26. while (pomocnicza >= 10)
  27. {
  28. pomocnicza /= 10;
  29. }
  30. }
  31.  
  32. if (ile >= 100)
  33. {
  34. if (pomocnicza < 10)
  35. pomocnicza *= 100;
  36. else
  37. pomocnicza *= 10;
  38. }
  39.  
  40. else if (ile >= 20 && ile <= 99)
  41. {
  42. pomocnicza *= 10;
  43. }
  44.  
  45. switch (pomocnicza)
  46. {
  47. case 1:
  48. cout << "jeden ";
  49. break;
  50. case 2:
  51. cout << "dwa ";
  52. break;
  53. case 3:
  54. cout << "trzy ";
  55. break;
  56. case 4:
  57. cout << "cztery ";
  58. break;
  59. case 5:
  60. cout << "piec ";
  61. break;
  62. case 6:
  63. cout << "szesc ";
  64. break;
  65. case 7:
  66. cout << "siedem ";
  67. break;
  68. case 8:
  69. cout << "osiem ";
  70. break;
  71. case 9:
  72. cout << "dziewiec ";
  73. break;
  74. case 10:
  75. cout << "dziesiec ";
  76. break;
  77. case 11:
  78. cout << "jedenascie ";
  79. break;
  80. case 12:
  81. cout << "dwanascie ";
  82. break;
  83. case 13:
  84. cout << "trzynascie ";
  85. break;
  86. case 14:
  87. cout << "czternascie ";
  88. break;
  89. case 15:
  90. cout << "pietnascie ";
  91. break;
  92. case 16:
  93. cout << "szesnascie ";
  94. break;
  95. case 17:
  96. cout << "siedemnascie ";
  97. break;
  98. case 18:
  99. cout << "osiemnascie ";
  100. break;
  101. case 19:
  102. cout << "dziewietnascie ";
  103. break;
  104. case 20:
  105. cout << "dwadziescia ";
  106. break;
  107. case 30:
  108. cout << "trzydziesci ";
  109. break;
  110. case 40:
  111. cout << "czterdziesci ";
  112. break;
  113. case 50:
  114. cout << "piecdziesiat ";
  115. break;
  116. case 60:
  117. cout << "szescdziesiat ";
  118. break;
  119. case 70:
  120. cout << "siedemdziesiat ";
  121. break;
  122. case 80:
  123. cout << "osiemdziesiat ";
  124. break;
  125. case 90:
  126. cout << "dziewiecdziesiat ";
  127. break;
  128. case 100:
  129. cout << "sto ";
  130. break;
  131. case 200:
  132. cout << "dwiescie ";
  133. break;
  134. case 300:
  135. cout << "trzysta ";
  136. break;
  137. case 400:
  138. cout << "czterysta ";
  139. break;
  140. case 500:
  141. cout << "piecset ";
  142. break;
  143. case 600:
  144. cout << "szescset ";
  145. break;
  146. case 700:
  147. cout << "siedemset ";
  148. break;
  149. case 800:
  150. cout << "osiemset ";
  151. break;
  152. case 900:
  153. cout << "dziewiecset ";
  154. break;
  155. }
  156. (pomocnicza -= ile);
  157. pomocnicza *= -1;
  158. ile = pomocnicza;
  159. }
  160. if (j == 0 && kopia_ile != 0)
  161. cout << "mld. ";
  162. else if (j == 1 && kopia_ile != 0)
  163. cout << "mln. ";
  164. else if (j == 2 && kopia_ile != 0)
  165. cout << "tys. ";
  166.  
  167. liczba_ -= kopia_ile * podziel_przez;
  168. podziel_przez /= 1000;
  169. }
  170. cout << endl;
  171. }
  172. }
  173.  
  174. int main()
  175. {
  176. int ile;
  177. long long int liczba;
  178.  
  179. //cout << "Podaj ile testow:\n";
  180. cin >> ile;
  181.  
  182.  
  183. for (int i = 0; i < ile; ++i)
  184. {
  185. //cout << "Podaj liczbe naturalna:\n";
  186. cin >> liczba;
  187.  
  188. Dziel(liczba);
  189. }
  190. return 0;
  191. }
Success #stdin #stdout 0s 15240KB
stdin
13
79
330
5299
76000
446792
100272132
13976355
772896334
4123389447
33884225004
190557254006
1000000000000
stdout
siedemdziesiat dziewiec 
trzysta trzydziesci 
piec tys. dwiescie dziewiecdziesiat dziewiec 
siedemdziesiat szesc tys. 
czterysta czterdziesci szesc tys. siedemset dziewiecdziesiat dwa 
sto mln. dwiescie siedemdziesiat dwa tys. sto trzydziesci dwa 
trzynascie mln. dziewiecset siedemdziesiat szesc tys. trzysta piecdziesiat piec 
siedemset siedemdziesiat dwa mln. osiemset dziewiecdziesiat szesc tys. trzysta trzydziesci cztery 
cztery mld. sto dwadziescia trzy mln. trzysta osiemdziesiat dziewiec tys. czterysta czterdziesci siedem 
trzydziesci trzy mld. osiemset osiemdziesiat cztery mln. dwiescie dwadziescia piec tys. cztery 
sto dziewiecdziesiat mld. piecset piecdziesiat siedem mln. dwiescie piecdziesiat cztery tys. szesc 
bln.
bln.