fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long long power(long x,long y,long l){
  5.  
  6. if(y==0){
  7. return 1;
  8. }
  9. else{
  10. long long temp = power(x,y/2,l);
  11. if(y%2==1){
  12. return (x*temp*temp)%l;
  13. }
  14. else{
  15. return (temp*temp)%l;
  16. }
  17. }
  18. }
  19.  
  20. double power1(double x,long y,long l){
  21.  
  22. if(y==0){
  23. return 1.0;
  24. }
  25. else{
  26. double temp = power1(x,y/2,l);
  27. if(y%2==1){
  28. return (x*temp*temp);
  29. }
  30. else{
  31. return (temp*temp);
  32. }
  33. }
  34. }
  35.  
  36.  
  37. int main() {
  38. int t;
  39. cin>>t;
  40. while(t--){
  41. long n,k;
  42. cin>>n>>k;
  43. long l=1;
  44. long f = 1;
  45. for(int i =0;i<k;i++){
  46. l *= 10;
  47. }
  48. for(int i =0;i<(log10(n)-1);i++){
  49. f *= 10;
  50. }
  51.  
  52. long long end = n%(l);
  53. double m = power1(n,n,l);
  54. while(m>10){
  55. m=m/10;
  56. }
  57. m = floor(m * l/10);
  58.  
  59.  
  60. cout<< m<<" "<<power(end,n,l)<<endl;
  61. }
  62. return 0;
  63. }
Success #stdin #stdout 0s 3148KB
stdin
2
4 2
9 3
stdout
25 56
387 489