Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pack;
- import javafx.scene.control.TextField;
- import java.lang.Math;
- import java.util.Arrays;
- import javafx.scene.control.Label;
- public class Functions
- {
- static String chronology = "";
- static int count = 0;
- static int gcd = 0;
- public static void Function1(TextField inText1, Label label)
- {
- String result = "";
- int n = Integer.parseInt(inText1.getText());
- if (n <= 1)
- label.setText("All the integers must be greater than 1");
- else
- {
- int countP = 0;
- boolean A[] = new boolean [n + 1];
- Arrays.fill(A,true);
- for(int i = 2; i <= (int)Math.sqrt(n); i++)
- {
- if (A[i] == true)
- {
- for (int j = i * i; j <= n; j = j + i)
- {
- A[j]= false;
- }
- }
- }
- result += "[";
- for (int i = 2; i < A.length; i++)
- {
- if (A[i] == true)
- {
- result += i + ",";
- countP++;
- }
- count = countP;
- }
- result += "]";
- label.setText(result);
- chronology += "Function type: Eratosthenes \n"
- + "Input: " + n + "\nResult: " + result;
- }
- }
- public static void Function2(TextField inText1, TextField inText2, Label label) {
- // TODO Auto-generated method stub
- String result = "";
- int n = Integer.parseInt(inText1.getText());
- int m = Integer.parseInt(inText2.getText());
- if (n <= 0 || m <= 0)
- {
- label.setText("All the integers must be greater than 0");
- }
- else
- {
- while (n != m)
- {
- if (n > m)
- n = n - m;
- else
- m = m - n;
- }
- gcd = n;
- result = Integer.toString(n);
- label.setText(result);
- chronology += "Function type: Euclid algorithm \n"
- + "Input: " + n + "," + m + "\nResult: " + result;
- }
- }
- public static void Function3(TextField inText1, Label label)
- {
- String result = "";
- int n = Integer.parseInt(inText1.getText());
- int countP = 0;
- for (int i = 2; i <= n; i++)
- {
- if(n % i == 0)
- {
- result += i + "\n";
- countP++;
- }
- }
- count = countP;
- result = Integer.toString(count);
- label.setText(result);
- chronology += "Function type: Number of prime numbers\n"
- + "Input: " + n + "\nResult: " + result;
- }
- public static void Function4(TextField inText1, Label label)
- {
- int n = Integer.parseInt(inText1.getText());
- if (n <= 0)
- label.setText("All the integers must be greater than 0");
- else
- {
- int countCoprime = 0;
- TextField inText2 = new TextField();
- for(int i = n; n > 1; i--)
- {
- inText2.setText(Integer.toString(i));
- Functions.Function2(inText1, inText2, label);
- if (gcd == 1)
- {
- countCoprime++;
- }
- }
- label.setText(Integer.toString(countCoprime));
- chronology += "Function type: Euler’s totient function\n"
- + "Input: " + inText1.getText() + "\nResult: " + countCoprime;
- }
- }
- public static void Function5(TextField inText1, Label label)
- {
- String result = "";
- int n = Integer.parseInt(inText1.getText());
- for(int i = 2; i< n; i++) {
- while(n % i == 0) {
- result += n + ",";
- n = n/i;
- }
- }
- label.setText(result);
- chronology += "Function type: Prime factorization\n"
- + "Input: " + n + "\nResult: " + result;
- }
- public static void Function6(TextField inText1, TextField inText2, Label label)
- {
- int n = Integer.parseInt(inText2.getText());
- int result = 0;
- int xpow;
- if (n < 1 || Integer.parseInt(inText1.getText()) <= 0)
- label.setText("All the integers must be positive numbers"
- + " with n > 1 and x >= 0");
- else
- {
- for (int i = 1; i <= n; i++)
- {
- if (n % i == 0)
- {
- xpow = (int) Math.pow(i, Integer.parseInt(inText1.getText()));
- result += xpow;
- }
- }
- label.setText(Integer.toString(result));
- chronology += "Function type: Sigma(x, n) function\n"
- + "Input: " + inText1.getText() + ","
- + inText2.getText() + "\nResult: " + result;
- }
- }
- public static void Function7(TextField inText1, TextField inText2,
- TextField inText3,TextField inText4, Label label)
- {
- String randomnum = "";
- int a = Integer.parseInt(inText1.getText());
- int b = Integer.parseInt(inText2.getText());
- int m = Integer.parseInt(inText3.getText());
- int n = Integer.parseInt(inText1.getText());
- int randomArray [] = new int [n];
- for(int i = 0; i < n; i++)
- {
- if(i == 0)
- {
- randomArray[i] = b % m;
- }
- else
- randomArray [i] = (a * randomArray[i - 1] + b) % m;
- }
- for(int count = 0; count < randomArray.length; count++)
- {
- randomnum += randomArray[count] + "";
- }
- result = i;
- label.setText(randomnum);
- chronology += "Function type: Linear congruential generator\n"
- + "Input: " + a + "," + b + "," + m + ","
- + n + "\nResult: " + randomnum;
- }
- public static void Function8(TextField inText1, Label label)
- {
- int n = Integer.parseInt(inText1.getText());
- int result;
- if(n <= 0)
- label.setText("All the integers must be greater than 0");
- else
- {
- result = (int)((1 / (4 * n * Math.sqrt(3))) * (Math.pow(Math.E, (Math.PI * Math.sqrt((2 * n)/3)))));
- label.setText(Integer.toString(result));
- chronology += "Function type: Partition function p(n) of n\n"
- + "Input: " + n + "\nResult: " + result;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement