Простые числа от 1 до 100 в Java
Ребята, я пытался выяснить, почему этот код не показывает соответствующие результаты в течение почти 5 часов! Это должно быть действительно легким заданием, но оно сводит меня с ума. Я должен заставить проект работать с включенным кодом, а не с другим подобным кодом. У меня проблема в том, что в нижней части моего программного обеспечения не отображаются простые числа. Насколько я понимаю, этот код должен отображать простые числа 1-100 и иметь все в строках по 5 чисел, кроме последнего. Некоторое руководство очень ценится.
4 ответа
Ваш код должен иметь вложенные циклы и массив, в котором хранятся найденные простые числа, которые будут показаны в конце.
Чтобы напечатать их в конце, вы должны сначала напечатать ваше утверждение, а затем использовать цикл для печати массива, содержащего найденные простые числа.
Если вы хотите вывести все простые числа от 1 до 100, вы должны выполнить итерацию по всем этим числам (1-й цикл) и для каждого из них пройти по всем возможным его делителям (вложенный цикл):
Обратите внимание, что для 2 и 3 условие не может быть применено, поэтому они печатаются первыми.
Я использовал подсказку @ Selbie по оптимизации <= sqrt(number)
Java — программирование Палиндромы. Лабораторная работа 1. Лабораторная работа 1 Основы синтаксиса Java Группа биб2003 Студент Абдиев Нурдан Москва 2022

Цель работы: изучить основы синтаксиса Java с помощью нескольких простых задач программирования. Узнать, каким образом следует использовать компилятор Java и виртуальную машину для запуска программы.
Простые числа
Задание: Создайте программу, которая находит и выводит все простые числа меньше 100.
Исходный код программы:
public static void main(String[] args) <
for(int i = 2 ; i
Результат работы:
Задание: Создать программу для проверки слова на палиндром.
Исходный код программы:
import java.util.Scanner;
public class Palindrome <
public static void main(String[] args) <
Scanner in = new Scanner (System.in);
System.out.println(«Введите слово для проверки:»);
String s = in.nextLine();
System.out.println(s + » — является палиндромом»);
System.out.println(s + » — не является палиндромом»);
public static String reversing(String s)<
for(int i = s.length() — 1; i >= 0 ; i—)<
//проверка на палиндром
public static boolean isPalindress(String s)<
String s1 = reversing(s);
Результат работы:
Генерация простых чисел в Java
В этом руководстве мы покажем различные способы генерации простых чисел с помощью Java.
Если вы хотите проверить, является ли число простым, вот краткое руководство о том, как это сделать.
2. Простые числа
Начнем с основного определения. Простое число — это натуральное число больше единицы, которое не имеет положительных делителей, кроме единицы и самого себя.
Например, число 7 простое, потому что 1 и 7 — его единственные положительные целые делители, а число 12 — нет, потому что оно имеет делители 3 и 2 в дополнение к 1, 4 и 6.
3. Генерация простых чисел
В этом разделе мы увидим, как можно эффективно генерировать простые числа, которые меньше заданного значения.
3.1. Java 7 и ранее — грубая сила
Как видите, PrimeNumbersBruteForce перебирает числа от 2 до n и просто вызывает метод isPrimeBruteForce() , чтобы проверить, является число простым или нет.
Метод проверяет делимость каждого числа на числа в диапазоне от 2 до числа-1 .
Если в какой-то момент мы встретим число, которое делится, мы вернем false. В конце, когда мы обнаруживаем, что это число не делится ни на одно из своих предыдущих чисел, мы возвращаем true, указывая на то, что это простое число.
3.2. Эффективность и оптимизация
Предыдущий алгоритм не является линейным и имеет временную сложность O(n^2). Алгоритм также неэффективен, и явно есть место для улучшения.
Давайте посмотрим на условие в методе isPrimeBruteForce() .
Когда число не является простым, это число можно разложить на два множителя, а именно a и b , т.е. число = a b. **Если бы и a, и b были больше квадратного корня из n , `то ab было бы больше, чем n` .**
Таким образом, по крайней мере один из этих факторов должен быть меньше или равен квадратному корню из числа, и чтобы проверить, является ли число простым, нам нужно только проверить факторы, меньшие или равные квадратному корню из проверяемого числа.
Кроме того, простые числа никогда не могут быть четными, поскольку все четные числа делятся на 2.
Имея в виду вышеизложенные идеи, давайте улучшим алгоритм:
3.3. Использование Java 8
Давайте посмотрим, как мы можем переписать предыдущее решение, используя идиомы Java 8:
Поиск и проверка простых чисел на Java
Как найти простые числа в Java между 1 и N. Как проверить, является ли число простым в Java. Сито алгоритма Эратосфена для простых чисел в Java.
- Автор записи
Что такое Простое число?
Простое число-это натуральное число, большее 1, которое делится только на 1 и само по себе.
Например, 5-простое число, потому что его можно разделить только на 1 и 5.
Аналогично, 6 не является простым числом, потому что его можно разделить на 1, 2, 3 и 6.
Алгоритм поиска простых чисел от 1 до N
Существует множество алгоритмов для нахождения простого числа в заданном диапазоне. “Сито Эратосфена” – один из популярных и простых алгоритмов поиска простых чисел с точностью до заданного диапазона.
Алгоритм поиска простых чисел от 1 до N состоит из следующих шагов.
- Создайте список последовательных чисел от 2 до N, т. е. (2,3,4…N).
- Начните с первого и наименьшего простого числа 2. Допустим, переменная.
- Найдите кратные p, т. е. 2p, 3p, 4p, и отметьте их в списке как не простые числа. Обратите внимание, что число p не должно быть помечено само по себе.
- Найдите следующий номер в списке, который не отмечен, и выполните с ним предыдущий шаг.
- Когда числа в списке исчерпаны, алгоритм завершается. Список чисел, которые не помечены, – это простые числа от 1 до N.
Ниже GIF дает визуальное представление алгоритма (Источник: Википедия ).
Сито Алгоритма Эратосфена
Реализация Java для поиска простых чисел от 1 до N
Выход : [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
Алгоритм проверки того, является ли число простым?
Самый простой способ проверить, является ли число простым, – это использовать пробное деление.
Для данного числа N проверьте, существует ли простое число M от 2 до √N (квадратный корень), которое равномерно делит его, т. е. Остаток равен 0.
Если существует число M, которое равномерно делит N, то N не является простым числом. В противном случае N-простое число.
Реализация Java для проверки простого числа
Вот реализация, позволяющая проверить, является ли число простым или нет. Мы будем использовать ранее определенный метод, чтобы узнать простые числа от 2 до √N.