Poldet1.ru

Пул Дет №1
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как проверить, является ли число простым числом в Excel?

Простое число в C ++

Что такое простое число? Любое число больше 1, которое должно делиться на 1 или на само число, называется простым. Поскольку простые числа не могут делиться ни на какое другое число, они могут быть только самим числом или 1. Например, вот список простых чисел в C++, которые кратны 1 или самому числу.

Список некоторых простых чисел

2 3 5 7 11 13 17 19 23 29 31 37 41…

Вы можете задать вопрос: почему 2 считается простым числом? Ну, 2 — единственное простое число, которое одновременно и четное, и простое. Возможно только два последовательных простых числа, которые также являются целыми положительными числами! Самое маленькое простое число — 2.

Логика простых чисел заключается в том, что если вы хотите найти простые числа из списка чисел, вы должны применить приведенную ниже логику:

Если число делится само на себя или на 1, то 2 — единственное четное простое число, которое является исключением, поэтому всегда помните об этом. Разделите данное число на 2, если вы получите целое число, то это число не может быть простым!

Кроме 2 и 3, все простые числа можно выразить в виде 6n + 1 или 6n-1, n — натуральное число.

Не существует простого числа, оканчивающегося на 5, которое было бы больше 5. Потому что по логике любое число больше 5 можно легко разделить на 5.

Чтобы прояснить и поддержать вышеизложенную логику, вот таблица всех простых чисел вплоть до 401:

23571113171923
29313741434753596167
717379838997101103107109
113127131137139149151157163167
173179181191193197199211223227
229233239241251257263269271277
281283293307311313317331337347
349353359367373379383389397401
Читайте так же:
Как преобразовать дробную часть в десятичную в Excel?

Простые числа с использованием различных методов

Теперь давайте посмотрим, как найти простые числа, используя различные методы, такие как цикл for, цикл loop и цикл do-while. Результат будет одинаковым во всех трех случаях цикла, потому что логика одна и та же, отличается только способ реализации.

Мы увидим это в коде на C++ отдельно для каждого цикла.

Пример № 1

Найти простое число с помощью цикла

Код:

#include
#include
using namespace std;
int main() (
int x; // Declaring a variable x
cout << "Please enter the number : "; // cout to get the input value from user
cin >> x;
cout << "Here is the list of all the prime numbers Below "<< x << endl;
for ( int m=2; m for ( int n=2; n*n<=m; n++)
(
if ( m % n == 0)
break;
else if ( n+1 > sqrt (m)) (
cout << m << endl;
)
)
return 0;
) #include
#include
using namespace std;
int main() (
int x; // Declaring a variable x
cout << "Please enter the number : "; // cout to get the input value from user
cin >> x;
cout << "Here is the list of all the prime numbers Below "<< x << endl;
for ( int m=2; m for ( int n=2; n*n<=m; n++)
(
if ( m % n == 0)
break;
else if ( n+1 > sqrt (m)) (
cout << m << endl;
)
)
return 0;
)

Выход:

Как видно из приведенного выше кода, мы взяли два цикла for, потому что в нашей программе нам нужен список простых чисел меньше заданного числа. Мы включили цикл for в другой цикл for, чтобы облегчить наши вычисления. Через оператор if добавляется условие, останавливающее цикл, как только мы достигнем числа, указанного в коде.

Читайте так же:
Как преобразовать секунды во время (чч мм сс) или наоборот в Excel?

Пример № 2

Поиск простых чисел с помощью цикла for и if-else

Код:

#include
using namespace std;
int main ()
(
int number, x, count = 0;
cout << "Please enter the number to check if it's prime or not : " << endl;
cin >> number;
if ( number == 0)
(
cout << "n" << number << " This number is not prime";
exit(1);
)
else (
for ( x=2; x < number; x++)
if ( number % x == 0)
count++;
)
if ( count > 1)
cout << "n" << number << " This number is not prime.";
else
cout << "n" << number << " This is prime number.";
return 0;
)

Сальир!

Пример № 3

Нахождение простого числа с помощью цикла WHILE с оператором if

Код:

#include
using namespace std;
int main()
(
int lower, higher, flag, temporary;
cout << "Please enter the two numbers for finding prime numbers between them: "<< endl;
cin >> lower >> higher;
if ( lower > higher) ( //It will swap the numbers if lower number is greater than higher number.
temporary = lower;
lower = higher;
higher = temporary;
)
cout << "Hence the Prime numbers between the number " << lower << " and " << higher << " are: "<< endl;
while ( lower < higher)
(
flag = 0;
for ( int x = 2; x <= lower/2; ++x)
(
if ( lower % x == 0)
(
flag = 1;
break;
)
)
if ( flag == 0)
cout << lower << " ";
++lower;
)
return 0;
)

Выход :

В приведенном выше коде мы взяли целые числа в качестве минорного числа, мажорного числа, временной переменной и флага. Изначально мы берем два числа, поскольку одно из них меньше, а другое больше. Если меньшее число больше большего, то эти числа сначала обмениваются во временной переменной для остальной части кода. Теперь, пока цикл продолжается до тех пор, пока меньшее число не станет меньше большего, условие будет продолжать вычислять простые числа между ними.

Читайте так же:
Как разрешить ввод только чисел в текстовое поле?

Вывод

Не только C++, но и все языки программирования могут быть использованы с логикой простых чисел. От небольшого набора чисел до большого количества чисел, эта логика может быть использована для нахождения набора простых чисел по запросу за считанные секунды без потери времени на программирование.

Рекомендуемые статьи

Это руководство по простым числам в C++. Здесь мы рассмотрим список некоторых простых чисел, а также различные методы, используемые для простых чисел. Вы также можете ознакомиться с другими предлагаемыми статьями для получения дополнительной информации.

Свойства взаимно простых чисел

Взаимные простые числа обладают определенными свойствами. Давайте рассмотрим основные свойства взаимно простых чисел.

Свойство 1

Числа, полученные при делении целых чисел a и b на их наибольший общий делитель, называются взаимно обратными простыми числами. Это означает, что НОД (a, b) и b : НОД (a, b) являются взаимно обратными простыми.

Это свойство взаимно простых чисел помогает находить пары взаимно простых чисел. Любые два целых числа можно разделить на наибольший общий делитель. В результате мы получаем взаимно простые числа.

Свойство 2

Необходимым и достаточным условием взаимной простоты a и b является существование целых чисел u0 и v0 таких, что справедливо равенство au0 + bv0 = 1.

Давайте докажем эту потребность:

Пусть числа a и b взаимно простые. Тогда по определению взаимно простых чисел НОД (a, b) = 1. НОД обладает тем свойством, что для целых чисел a и b выполняется соотношение Безу au0 + bv0 = НОД (a, b). Следовательно, au0 + bv0 = 1.

Соотношение Безу — это представление целочисленных НОД в виде линейной комбинации целых чисел с целочисленными коэффициентами.

Давайте докажем, что этого достаточно:

Пусть верно равенство au0 + bv0 = 1. Поскольку НОД (a, b) делит и a, и b, НОД (a, b) может делить сумму au0 + bv0, а значит, и единицу. НОД (a, b) = 1 — единственное условие, которое позволяет это сделать. Следовательно, a и b — взаимно простые числа.

Читайте так же:
Как преобразовать комментарии к содержимому ячейки в Excel?

Свойство 3

Если a и b — простые числа и произведение ac делится на b, то c кратно b.

Действительно, поскольку a и b взаимно простые, из вышеприведенного свойства следует равенство au0 + bv0 = 1. Если умножить обе части этого равенства на c, то получим acu0 + bcv0 = c.

Первое слагаемое acu0 + bcv0 делится на b, так как ac по условию делится на b, а второе слагаемое этой суммы также делится на b, так как один из множителей равен b. Можно сделать вывод, что вся сумма делится на b. А поскольку сумма acu0 + bcv0 равна c, c также делится на b.

Свойство 4

Если a и b взаимно простые, тогда НОД (ac, b) = НОД (c, b).

Покажем, во-первых, что НОД (ac, b) делит НОД (c, b), а во-вторых, что НОД (c, b) делит НОД (ac, b), что доказывает равенство НОД (ac, b) = НОД (c, b).

НОД (ac, b) делит и ac, и b, а поскольку НОД (ac, b) делит b, он также делит bc. То есть НОД (ac, b) делит и ac, и bc, поэтому, в силу свойств наибольшего общего делителя, он также делит НОД (ac, bc), который, в силу свойств НОД, равен c * НОД (a, b) = c. Таким образом, НОД (ac, b) делит и b, и c, поэтому он делит НОД (c, b).

С другой стороны, НОД (c, b) делит и c, и b, а поскольку он делит c, то делит и ac. Следовательно, НОД (c, b) делит и ac, и b, а значит, делит и НОД (ac, b).

N OD (ac, b) и NOD (c, b) взаимно делят друг друга, поэтому оба они равны.

Читайте так же:
Как произвольно выбирать ячейки в Excel?

Свойство 5

Если числа a1, a2, …, ak являются взаимно простыми с каждым из чисел b1, b2, …, bm (где k и m — определенные натуральные числа), то произведения a1 * a2 * … *ak и b1 *b2 * …*bm — простые числа. Если a1 = a2 =…= ak = a и b1 = b2 =…= bm = b, то ak и bm — простые числа.

Предыдущее свойство взаимно простых чисел позволяет написать последовательность уравнений вида:

НОД (a1 *a2 *…*ak , bm ) = НОД (a2 *…*ak , bm ) =…= НОД (ak , bm ) = 1, последний переход возможен потому, что ak и bm по условию являются взаимно простыми.

Таким образом, получаем равенство NOD (b1 *b2 *. *bm , a1 *a2 *. A1 *A2 * = 1, что доказывает равенство произведений. *ak и b1 *b2 *. *bm являются взаимно простыми.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector