Алгоритмы (Java): различия между версиями

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску
Строка 165: Строка 165:
 
=== Найти НОД(A,B), используя алгоритм Евклида: ===
 
=== Найти НОД(A,B), используя алгоритм Евклида: ===
 
<syntaxhighlight lang="java" line>
 
<syntaxhighlight lang="java" line>
 +
package ru.example;
  
 +
import java.util.Scanner;
 +
 +
public class Main {
 +
 +
    public static void main(String[] args) {
 +
        int a, b;
 +
        Scanner sc = new Scanner(System.in);
 +
 +
        System.out.println("Введите целое число A:");
 +
        a = sc.nextInt();
 +
        System.out.println("Введите целое число B:");
 +
        b = sc.nextInt();
 +
 +
        while (b != 0) {
 +
            int tmp = a;
 +
            a = b;
 +
            b = tmp % b;
 +
        }
 +
 +
        System.out.println("НОД(A, B) = " + a);
 +
    }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Версия 13:15, 7 июля 2021

Код программ

Сумма вводимых целых чисел

 1 package ru.example;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         System.out.print("Введите число слагаемых: ");
 9         Scanner sc = new Scanner(System.in);
10         int count = sc.nextInt();
11 
12         int sum = 0;
13         for (int i = 0; i < count; i++) {
14             System.out.print("Введите число " + (i+1) + ": ");
15             int num = sc.nextInt();
16             sum += num;
17         }
18 
19         System.out.println("Сумма = " + sum);
20     }
21 }

Произведение целых чисел

 1 package ru.example;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         System.out.print("Введите число множителей: ");
 9         Scanner sc = new Scanner(System.in);
10         int count = sc.nextInt();
11 
12         int product = 1;
13         for (int i = 0; i < count; i++) {
14             System.out.print("Введите множетель " + (i+1) + ": ");
15             int num = sc.nextInt();
16             product *= num;
17         }
18 
19         System.out.println("Произведение = " + product);
20     }
21 }

Сколько нечетных среди n введенных

 1 package ru.example;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         System.out.print("Введите количество чисел: ");
 9         Scanner sc = new Scanner(System.in);
10         int count = sc.nextInt();
11 
12         int oddCount = 0;
13         for (int i = 0; i < count; i++) {
14             System.out.print("Введите число " + (i+1) + ": ");
15             int num = sc.nextInt();
16             if (Math.abs(num % 2) == 1) {
17                 oddCount++;
18             }
19         }
20 
21         System.out.println("Количество нечётных чисел = " + oddCount);
22     }
23 }

Защита от неверного ввода

 1 package ru.example;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         int x;
 9 
10         do {
11             System.out.print("Введите x > 0: ");
12             Scanner sc = new Scanner(System.in);
13             x = sc.nextInt();
14             if (x <= 0) {
15                 System.out.println("Неверный ввод.");
16             }
17         } while (x <= 0);
18         System.out.println("x = " + x);
19     }
20 }

Вывод 10 первых степеней двойки

 1 package ru.example;
 2 
 3 public class Main {
 4 
 5     public static void main(String[] args) {
 6         int x = 2;
 7 
 8         for (int i = 1; i <= 10; i++) {
 9             System.out.println("2 ** " + i + " = " + x);
10             x *= 2;
11         }
12     }
13 }

Вывод всех двухзначных чисел, кратных 5

 1 package ru.example;
 2 
 3 public class Main {
 4 
 5     public static void main(String[] args) {
 6         int x = 10;
 7 
 8         while (x < 100) {
 9             System.out.println(x);
10             x += 5;
11         }
12     }
13 }

Вывод n первых чисел Фибоначчи

 1 package ru.example;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         int n, a, b;
 9         Scanner sc = new Scanner(System.in);
10 
11         System.out.println("Введите число n (n > 1): ");
12         n = sc.nextInt();
13 
14         a = 1; b = 1;
15         System.out.print(a + " " + b + " ");
16         for (int i = 1; i <= n - 2; ++i) {
17             int tmp = a;
18             a = b;
19             b += tmp;
20             System.out.print(b + " ");
21         }
22     }
23 }

Найти НОД(A,B), используя алгоритм Евклида:

 1 package ru.example;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         int a, b;
 9         Scanner sc = new Scanner(System.in);
10 
11         System.out.println("Введите целое число A:");
12         a = sc.nextInt();
13         System.out.println("Введите целое число B:");
14         b = sc.nextInt();
15 
16         while (b != 0) {
17             int tmp = a;
18             a = b;
19             b = tmp % b;
20         }
21 
22         System.out.println("НОД(A, B) = " + a);
23     }
24 }

Найти сумму цифр целого числа m

Найти max из введенных чисел

Найти min, удовлетворяющее условию p(x)

Есть ли среди введенных число k?

Является ли число N>1 простым?

Разложение числа на простые множители