fork download
  1. #include <stdio.h>
  2. #define N 5 // степень
  3. #define M 5 // размер числа
  4.  
  5. void multiply(int* in1, int* in2) {
  6. int cr;
  7. int tmp[N + 5];
  8. for (int i = 0; i <= in2[0]; i++)
  9. tmp[i] = in2[i];
  10.  
  11. in2[0] = 0; // будем считать что переменная чистая
  12. for (int i = 1; i <= in1[0]; i++)
  13. for (int j = 1; j <= tmp[0]; j++) {
  14. cr = in1[i] * tmp[j];
  15. for(int k = i + j - 1; cr > 0; k++) {
  16. if (k > in2[0])
  17. in2[0] = k;
  18. else
  19. cr += in2[k];
  20. in2[k] = cr % 10;
  21. cr /= 10;
  22. }
  23. }
  24. }
  25. void writelong(int* y){
  26. for (int i = y[0]; i > 0; i--)
  27. printf("%d",y[i]);
  28. }
  29.  
  30. int main(void) {
  31. int n;
  32. int y[N*M];
  33. int out[N*M];
  34.  
  35. /* int a[N]; */
  36. int a[] = {2,5,1}; /* First number 15 */
  37. n = M; /* Degree of number 5*/
  38.  
  39. for (int i = 1; i < N * M; i++)
  40. out[i] = 0;
  41.  
  42. /* printf("Enter the first number ");
  43.   readlong(a);
  44.   printf("\nEnter the stepen ");
  45.   scanf _s("%d", &n);*/
  46. y[0] = y[1] = 1;
  47. for (int i = 0; i < n; i++)
  48. multiply(a,y);
  49. writelong(a);
  50. printf("^%d=",M);
  51. writelong(y);
  52. return 0;
  53. }
Success #stdin #stdout 0s 4164KB
stdin
Standard input is empty
stdout
15^5=759375