fork download
  1. #include <iostream>
  2. #include <cmath>
  3. #include <cstdint>
  4.  
  5. int main() {
  6.  
  7. std::uint64_t Y = 2017;
  8.  
  9. for (std::uint64_t A1 = 2; A1 <= Y; A1++) {
  10. for (std::uint64_t B1 = 2; B1 <= Y; B1++) {
  11. if (A1 + B1 > Y) break;
  12. for (std::uint64_t A2 = 2; A2 <= Y; A2++) {
  13. std::uint64_t PA = std::pow(A1, A2);
  14. if (PA > Y) break;
  15. for (std::uint64_t B2 = 2; B2 <= Y; B2++) {
  16. std::uint64_t PB = std::pow(B1, B2);
  17. if (PA + PB > Y) break;
  18. if (static_cast<std::uint64_t>( PA + PB)== Y) {
  19. std::cout << A1 << '^' << A2 << '+' << B1 << '^' << B2 << '=' << Y << std::endl;
  20. }
  21. }
  22. }
  23. }
  24. }
  25. return 0;
  26. }
Success #stdin #stdout 0.06s 3468KB
stdin
Standard input is empty
stdout
3^4+44^2=2017
9^2+44^2=2017
12^3+17^2=2017
17^2+12^3=2017
44^2+3^4=2017
44^2+9^2=2017