/
Shlomov
/
Lab
Обзор
Документация
Войти
/
Shlomov
/
Lab
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
1.3
251 строка
9 KB
Shlomov
create 1.3
17 дек 2025, 21:57
17 дек 2025, 21:57
4e1f0d5
Код
Авторство
О чём код?
/* Задание 1 import java.util.Scanner; public class SumCalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите натуральное число n: "); int n = scanner.nextInt(); long sum = 0; // Используем long, чтобы избежать переполнения при больших n for (int i = 1; i <= n; i++) { long product = 1; // Вычисляем произведение i * (i+1) * ... * (2*i) for (int j = i; j <= 2 * i; j++) { product *= j; } sum += product; // Прибавляем произведение к сумме } System.out.println("Сумма равна: " + sum); scanner.close(); } } */ /* Задание 2 import java.util.Scanner; public class DoubleFactorial { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите число n: "); int n = scanner.nextInt(); long result = calculateDoubleFactorial(n); System.out.println("Значение n!! = " + result); scanner.close(); } private static long calculateDoubleFactorial(int n) { long result = 1; if (n % 2 == 0) { // если n — чётное for (int i = 2; i <= n; i += 2) { result *= i; } } else { // если n — нечётное for (int i = 1; i <= n; i += 2) { result *= i; } } return result; } } */ /* Задание 3 import java.util.Scanner; public class ArmstrongNumbers { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите начало отрезка (a): "); int a = scanner.nextInt(); System.out.print("Введите конец отрезка (b): "); int b = scanner.nextInt(); System.out.println("Числа Армстронга на отрезке [" + a + ", " + b + "]:"); for (int i = a; i <= b; i++) { if (isArmstrong(i)) { System.out.print(i + " "); } } scanner.close(); } // Метод проверяет, является ли число числом Армстронга private static boolean isArmstrong(int number) { String numStr = Integer.toString(number); int length = numStr.length(); int sum = 0; int temp = number; while (temp > 0) { int digit = temp % 10; // Получаем последнюю цифру sum += Math.pow(digit, length); // Возводим цифру в степень длины числа и прибавляем к сумме temp /= 10; // Убираем последнюю цифру } return sum == number; // Если сумма равна исходному числу — это число Армстронга } } */ /* Задание 4 import java.util.Scanner; public class AmicableNumbers { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите начало отрезка (a): "); int a = scanner.nextInt(); System.out.print("Введите конец отрезка (b): "); int b = scanner.nextInt(); System.out.println("Пары дружественных чисел на отрезке [" + a + ", " + b + "]:"); for (int i = a; i <= b; i++) { int sumOfDivisorsI = sumOfDivisors(i); // Сумма делителей числа i (без самого i) // Проверяем, что второе число j находится в диапазоне [a, b] if (sumOfDivisorsI > i && sumOfDivisorsI <= b) { int sumOfDivisorsJ = sumOfDivisors(sumOfDivisorsI); // Сумма делителей числа j // Проверяем условие дружественности: сумма делителей j должна быть равна i if (sumOfDivisorsJ == i) { System.out.println(i + " и " + sumOfDivisorsI); } } } scanner.close(); } // Метод для вычисления суммы собственных делителей числа (исключая само число) private static int sumOfDivisors(int number) { int sum = 0; for (int i = 1; i <= number / 2; i++) { // Делитель не может быть больше половины числа if (number % i == 0) { // Если i — делитель числа sum += i; } } return sum; } } */ /* Задание 5 import java.util.Scanner; public class PowerCalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите основание x: "); double x = scanner.nextDouble(); System.out.print("Введите показатель степени n: "); int n = scanner.nextInt(); double result = power(x, n); System.out.println(x + " в степени " + n + " = " + result); scanner.close(); } public static double power(double x, int n) { if (n == 0) return 1; // любое число в 0 степени равно 1 if (n < 0) { x = 1 / x; // для отрицательных степеней n = -n; // переводим n в положительную степень } double result = 1; for (int i = 0; i < n; i++) { result *= x; } return result; } } */ /* Задание 6 public class LuckyTickets { public static void main(String[] args) { int count = 0; // счётчик счастливых билетов // Перебираем все шестизначные номера (от 000000 до 999999) for (int i = 0; i <= 999999; i++) { String ticket = String.format("%06d", i); // Формируем строку с 6 цифрами (дополняем нулями слева при необходимости) // Вычисляем сумму первых трёх цифр int sumFirst3 = Character.getNumericValue(ticket.charAt(0)) + Character.getNumericValue(ticket.charAt(1)) + Character.getNumericValue(ticket.charAt(2)); // Вычисляем сумму последних трёх цифр int sumLast3 = Character.getNumericValue(ticket.charAt(3)) + Character.getNumericValue(ticket.charAt(4)) + Character.getNumericValue(ticket.charAt(5)); // Проверяем условие счастливого билета if (sumFirst3 == sumLast3) { System.out.println(ticket); // Выводим номер счастливого билета count++; // Увеличиваем счётчик } } System.out.println("Всего найдено счастливых билетов: " + count); } } */ /* Задание 7 import java.util.Scanner; public class Fibonacci { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите номер числа Фибоначчи (n): "); int n = scanner.nextInt(); long result = fibonacciRecursive(n); System.out.println("Число Фибоначчи с номером " + n + " равно: " + result); } public static long fibonacciRecursive(int n) { if (n == 1 || n == 2) { return 1; // F1 = F2 = 1 по условию } else { return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2); } } } */ /* Задание 8 import java.util.Scanner; public class HornerScheme { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите значение x: "); double x = scanner.nextDouble(); double result = calculateHorner(x); System.out.println("Результат вычисления по схеме Горнера: " + result); scanner.close(); } public static double calculateHorner(double x) { // Коэффициенты многочлена, начиная с x^10 и заканчивая свободным членом double[] coefficients = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; double result = 0; // Применяем схему Горнера: идём от старшего коэффициента к младшему for (int i = 0; i < coefficients.length; i++) { result = result * x + coefficients[i]; } return result; } } */