Advertisement
LisunovaMaryna

lab2.2 java

Oct 30th, 2023 (edited)
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.45 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Main {
  4.  
  5.     public static int readNumPositive()
  6.     {
  7.         int num;
  8.         num = -1;
  9.         boolean isIncorrect;
  10.         Scanner scan = new Scanner(System.in);
  11.         do {
  12.             isIncorrect = false;
  13.             try
  14.             {
  15.                 num = Integer.parseInt(scan.next());
  16.             }
  17.             catch (NumberFormatException e)
  18.             {
  19.                 System.err.print("Symbols have been entered or exceeding permissible
  20.                                  limits. Enter a valid value: ");
  21.                 isIncorrect = true;
  22.             }
  23.             if ((!isIncorrect) && (num < 0))
  24.             {
  25.                 System.err.print("A number less than two was entered. Enter a valid
  26.                                  value: ");
  27.                 isIncorrect = true;
  28.             }
  29.         } while (isIncorrect);
  30.         return num;
  31.     }
  32.  
  33.     public static int countRoot(int num) {
  34.         return (int)Math.round(Math.cbrt((double)num));
  35.  
  36.     }
  37.  
  38.     public static int showCombinations(int MAX, int num) {
  39.         int x;
  40.         int y;
  41.         int z;
  42.         int k;
  43.         k = 0;
  44.         MAX++;
  45.         for (x = 0; x < MAX; x++) {
  46.             for (y = 0; y < MAX; y++) {
  47.                 for (z = 0; z < MAX; z++) {
  48.                     if ((x * x * x) + (y * y * y) + (z * z * z) == num) {
  49.                         System.out.println(x + " " + y + " " + z);
  50.                         k++;
  51.                     }
  52.                 }
  53.             }
  54.         }
  55.         return k;
  56.     }
  57.  
  58.     static void showResult(int k) {
  59.         if (k != 0) {
  60.             System.out.print("Finite number of combinations: " + k);
  61.         }
  62.         else {
  63.             System.out.print("There are no combinations.");
  64.         }
  65.     }
  66.  
  67.     static void whatDoesTheProgramDo() {
  68.         System.out.println("The program indicates all triples of numbers X, Y, Z,
  69.                            that satisfy the condition: X^3 + Y^3 + Z^3 = Num.");
  70.     }
  71.  
  72.  
  73.     public static void main(String[]args) {
  74.         int num;
  75.         int x;
  76.         int y;
  77.         int z;
  78.         int k;
  79.         int MAX;
  80.         whatDoesTheProgramDo();
  81.         k = 0;
  82.         System.out.print("Enter the number: ");
  83.         Scanner scan = new Scanner(System.in);
  84.         num = readNumPositive();
  85.         scan.close();
  86.         MAX = countRoot(num);
  87.         k = showCombinations(MAX, num);
  88.         showResult(k);
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement