fork download
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. void print(char * x, int n) { // функция вывода массива чисел
  7. for (int i = n - 1; i >= 0; i--) {
  8. cout << (int) x[i];
  9. }
  10. }
  11. int MULT(char * x, char * y, char * z, int n, int m) { // функция для перемножения больших чисел
  12. memset(z, 0, n + m); // обнуляем массив
  13. for (int i = 0; i < m; i++) {
  14. for (int j = 0; j < n; j++) {
  15. char w = x[j] * y[i] + z[i + j];
  16. z[i + j + 1] += w / 10;
  17. z[i + j] = w % 10;
  18. }
  19. }
  20. int res = (z[n + m - 1] == 0) ? (n + m - 1) : (n + m); // кол-во разрядов
  21. return res;
  22. }
  23. const int N = 100; // кол-во элементов массивов с небольшим запасом
  24. char acc[N] = {1};
  25. int acc_size = 1;
  26. char tmp[N] = {0};
  27. char v_26[] = {6, 2}; // 26
  28.  
  29. int main() {
  30. int A, B; // входные данные
  31. cin >> B >> A;
  32. for (int i = 0; i < B; i++) { // умножение результата на 26 в степени B
  33. memcpy(tmp, acc, acc_size);
  34. acc_size = MULT(tmp, v_26, acc, acc_size, 2); // 2 - число разрядов в 26
  35. }
  36. print(acc, acc_size); // вывод конечного результата
  37. for (int i = 0; i < A; i++) {
  38. cout << "0";
  39. }
  40. return 0;
  41. }
Success #stdin #stdout 0s 4484KB
stdin
26 26
stdout
615611958020715731079667428840020377600000000000000000000000000