Amonin

Untitled

Jan 2nd, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include <string>
  5. #include <cmath>
  6. #include <ctime>
  7. using namespace std;
  8. void optimize(vector<int>& v, int new_i) {
  9. int size = to_string(new_i).length() + 1;
  10. for (int i = 0; i < size; ++i) v.push_back(0);
  11. for (int i = 0; i < v.size() - size; ++i) {
  12. int number = v[i];
  13. v[i] -= number;
  14. int cnt = 0;
  15. while (number > 0) {
  16. v[i + cnt] += number % 10;
  17. ++cnt;
  18. number /= 10;
  19. }
  20. }
  21. while (v[v.size() - 1] == 0) {
  22. v.pop_back();
  23. }
  24. }
  25. int main() {
  26. unsigned int start_time = clock();
  27. ifstream fin("input.txt");
  28. int num;
  29. fin >> num;
  30. vector<int> v = { 1 };
  31. for (int i = 1; i <= num; ++i) {
  32. for (int j = 0; j < v.size(); ++j) {
  33. v[j] *= i;
  34. }
  35. optimize(v, i);
  36. }
  37. //ofstream cout("output.txt");
  38. reverse(v.begin(), v.end());
  39. for (auto el : v) {
  40. cout << el;
  41. }
  42. cout << endl;
  43. unsigned int end_time = clock();
  44. cout << end_time - start_time << endl;
  45. //cout << num << endl;
  46. //cout.close();
  47. fin.close();
  48. system("pause");
  49. }
Advertisement
Add Comment
Please, Sign In to add comment